일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- Flutter
- flutter #깃
- boj #baekjoon #c++
- 플러터 #flutter #restful #rest api
- baekjoon #boj #c++
- unity #2d-game #minigame #vscode
- flutter #app #취준
- flutter #플러터 #분석
- VS #비주얼스튜디오
- baekjoon #백준 #boj
- firebase #파이어베이스
- 로컬저장소 #이름변경
- boj #baekjoon
- boj #c++
- flutter #todolist
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- flutter #플러터
- git #unity #깃허브
- 비주얼스튜디오 #코드스니펫
- flutter #git
- 비주얼 스튜디오 #vs #visual studio
- unity #2d-game
- 백준 #boj #baekjoon
- 백준 #c++
- flutter #상태관리
- flutter #firebase #플러터 #파이어베이스 #연동
- 백준 #boj
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- 백준
- Today
- Total
목록[BOJ] 코드 모음 (110)
cococo-coding
문제 풀이 아스키코드를 활용해야 하는 문제이다. 테스트케이스 개수t를 입력받고 while문으로 돌린다. 입력받을 수x를 string으로 선언하고, 각 수가 나온 횟수를 셀 카운팅 배열 arr[10]을 선언하고 0으로 초기화해준다. for문을 이용해 입력받은 수는 string이므로 문자형태이다. 즉, 아스키코드로 인식이 되는 상황이기 때문에 문자0('0')을 빼주어야 한다. (문자 0은 아스키코드로 48이다) s[i]-48을 arr의 인덱스인수로 넣어주고, 증가시켜준다. 그리고 arr배열을 for문으로 돌리면서 0이 아닌 수를 만나면 cnt를 증가시켜주고 최종적으로 cnt를 출력해준다. 포인트 문자0 은 아스키코드로 48이므로, 숫자로 쓰려면 48을 빼주어야 한다. 만약 위의 방법처럼 하지 않고, 바로 출..
문제 풀이 테스트케이스 개수t를 입력받고 while문으로 반복한다. 케이스별로 E(X)=(aX+b)mod 26에 들어갈 a, b값과 평문s를 입력받는다. 이때 우리가 사용할 코드체계는 문제에 나와있는 A=0, B=1, ..., Z=25이고 출력되는 형태는 아스키코드이다. for문을 이용하여 string을 입력받았을 때, 이 문자열은 아스키코드이므로 우리가 원하는 코드체계로 변경해주어야 한다. s[i]-65로 이를 구현한다. ex) 예제에서 "IAMSPY"라는 문자열을 입력했을 때, 'I'라는 문자는 아스키코드로 73이다. 우리가 문제에서 쓰는 체계로 변경하려면 'I'=8이 되어야하므로 원래 코드에서 65를 빼준다. 그리고 원래의 E(X)식대로 E(X)=(aX+b)mod 26를 구현해준다. (X=s[i]-..
문제 풀이 자리배열 seat[101]={0,}을 생성하고, 손님이 원하는 자리를 입력받아 seat배열의 인덱스로 넣어 증가시켜주었다. seat[guest]++; 만약 seat[guest]=1이면 이미 손님이 자리를 이용하고 있는것이므로, if(guest[seat]>1) 이라면 거절을 해야하는 상황으로 분류해서 sorry++를 카운팅했다. 포인트 자리 배열을 생성하고, 입력받은 자리를 인덱스로 넣기 -> 배열 값에 따라 자리 사용 여부 판단 (0이면 사용가능, 1이면 불가) 코드 #include using namespace std; /* 1. 손님수n을 입력받는다. 2. 각 손님이 앉고싶어하는 자리를 입력받는다. 3. 거절당하는 손님 수를 카운트한다. 4. 거절당한 손님 수를 출력한다. */ int mai..
문제 풀이 1. 피연산자를 a와 b로, 연산자를 oper로 설정한다. 이때 연산자oper는 string형으로 선언하고, bool형 check 변수도 하나 생성해둔다. 2. while문으로 무한루프를 만들고, oper=="E"인 경우를 if문으로 빼서 break;를 걸어둔다. 이제 연산자 6개에 대한 if문을 이용할 것이다. if문의 조건으로는 oper=="연산자"를 넣어서 케이스들을 분기했다. 그리고 check변수에 해당 연산이 맞는지 불값으로 1 혹은 0을 넣는다. 케이스에 걸려져서 check 값까지 나왔다면 이제는 check 값을 확인할 차례이다. 만약 check값이 1이면 참이므로, true를 출력하도록 string res=true;를 넣고 0이라면 거짓이므로, false가 출력되도록 string ..
문제 풀이 1. 테스트케이스의 개수 t를 입력받는다. 이 t는 while문으로 돌려준다. 2. 각 테스트케이스별의 거스름돈c를 입력받는다. 3. 거스름돈에 따른 쿼터, 다임, 니켈, 페니 개수를 구한다. 나는 change라는 함수로 구현했다. 함수 내용은 거스름돈을 쿼터(25)로 나눈 몫을 출력(쿼터의 개수) 하고 거스름돈을 쿼터(25)로 나눈 나머지를 새로운 거스름돈으로 넣어준다. 이 루틴을 쿼터, 다임, 니켈, 페니까지 반복해준다. 이때 페니의 경우 거스름돈을 1로 나눈 몫만 존재한다. 포인트 거스름돈c를 나눈 몫이 동전의 개수가 된다. 거스름돈c를 나눈 나머지가 새로운 거스름돈이 된다. (그래야 쿼터 -> 다임 -> 니켈 -> 페니 순으로 계산가능) 코드 #include using namespace..
문제 풀이 n과 m을 입력받아 abs(n-m)을 이용하여 절댓값을 구해주고 바로 출력하면 되는 간단한 문제이다. 포인트 - 절댓값 구하는 abs 함수를 이용하기 -> stdlib.h 라이브러리에 있다. - a,b 범위는 넉넉하게 long이상으로 잡아주기 -> int로 잡으면 에러가 난다. 코드 #include #include //절댓값 abs함수 using namespace std; /* 1. 두 도메인의 유명도를 입력받는다. 2. 두 유명도의 차이를 구한다. 3. 차이를 출력한다. */ int main() { //1 long n, m; //범위 int로 하면 에러, long이상으로 받기 cin >> n >> m; //2, 3 cout
문제 풀이 % 연산자를 활용하여 배수인지를 확인하면 되는 문제이다. 이때 마지막에 0이 입력되면 목록이 끝나는데, 이 부분을 while(1)로 돌리다가 if(num==0) break; 로 구현했다. 코드 #include using namespace std; /* 1. 정수 n을 입력받는다. 2. 목록 수를 입력받는다. 이때 0이면 목록은 끝. 3. 각 목록 수가 n의 배수인지 판단한다. 4. 예제 출력형식에 맞춰 출력한다. */ int main() { //1 int n; cin >> n; //2 while (1) { int num; cin >> num; if (num == 0) break; //3,4 if (num % n == 0) cout
문제 풀이 문자열을 입력받고, for문과 if문 조건을 이용하여 4가지 케이스(대문자, 소문자, 숫자, 공백)으로 분기해준다. 각각 카운팅 변수를 생성하여 해당케이스에 맞으면 증가시켜주고, 최종적으로 이 카운팅변수들을 출력한다. 이때 while 반복문을 사용하여 str입력이 들어오는 동안만 코드를 실행하도록 한다. 1. string형으로 str을 선언한다. 이때 while문으로 입력이 들어오는 동안 코드를 반복할 것이므로, str은 while문 밖에 선언하도록 한다. 2. 영어 소문자, 대문자, 공백, 숫자 카운팅 변수를 생성하고 0으로 초기화한다. for문을 이용해 각각 케이스별로 if문으로 분기하여 카운팅해준다. 이때 숫자의 경우는 str[i]==0 이렇게 쓰면 안된다. str[i]=='0' 으로 써..