본문 바로가기
반응형

C++162

[백준/BOJ] 11866번 - 요세푸스 문제 0 (C++) 문제 링크 코딩하기 전 생각하기 /* 큐를 사용하자. 큐가 empty가 될 때까지 반복한다. k-1번 만큼 맨 앞의 숫자를 pop하고 맨 뒤에 push한다. 맨 앞의 숫자를 pop하고 answer 벡터에 저장한다. answer 벡터를 출력한다. */ 코드 #include #include using namespace std; int main() { int n, k; queue q; vector v; cin >> n >> k; for ( int i = 1; i 2021. 7. 12.
[백준/BOJ] 2164번 - 카드2 (C++) 문제 링크 코딩하기 전 생각하기 /* 큐를 사용하자. 큐의 길이가 1이 될 때 까지 다음을 반복한다. 맨 앞의 숫자를 pop한다. 그 다음 맨 앞의 숫자를 pop하고 맨 뒤에 push한다. 마지막 남은 숫자를 출력한다. */ 코드 #include #include using namespace std; int main() { int n; queue q; cin >> n; for ( int i = 1; i 1 ) { q.pop(); int tmp = q.front(); q.pop(); q.push(tmp); } cout 2021. 7. 12.
[백준/BOJ] 2941번 - 크로아티아 알파벳 (C++) 문제 링크 코딩하기 전 생각하기 /* 문자열을 입력받고 문자열을 순회한다. =과 -은 세지 않는다. j가 나왔을 때 전의 알파벳이 l이나 n이면 건너뛴다. dz=가 연속으로 나오는 경우에는 count에서 1을 뺀다. */ 코드 #include #include using namespace std; int main() { string s; cin >> s; int count = 0; for ( int i = 0; i 1 ) { if ( s[i] == '=' && s[i-1] == 'z' && s[i-2] == 'd' ) { count--; continue; } } if ( s[i] == '=' || s[i] == '-' ) continue; if ( i.. 2021. 7. 12.
[백준/BOJ] 5355번 - 화성 수학 (C++) 문제 링크 코딩하기 전 생각하기 /* t만큼 반복한다. 한 라인을 입력받고 규칙에 따라 연산을 해준다. */ 코드 #include #include using namespace std; int main() { int t; double n; string s; cin >> t; for ( int i = 0; i > n; getline(cin, s); for ( auto c : s ) { if ( c == '@' ) n *= 3; if ( c == '%' ) n += 5; if ( c == '#' ) n -= 7; } printf("%.2f\n", n); } } 느낀점 백준에서 '상근'이라는 이름을 애용하는 것 같다. 울 삼촌 이름인데.. (주의) 기록용으로 작성한 글입니다. 코.. 2021. 7. 12.
[백준/BOJ] 2163번 - 초콜릿 자르기 (C++) 문제 링크 코딩하기 전 생각하기 /* n과 m을 곱한 값에 1을 빼자. */ 코드 #include #include using namespace std; int main() { int n, m; cin >> n >> m; cout 2021. 7. 12.
[백준/BOJ] 1476번 - 날짜 계산 (C++) 문제 링크 코딩하기 전 생각하기 /* 나머지를 활용하자. 답을 n이라고 하자. n을 각각 E S M의 길이로 나눈 나머지가 입력 받은 수들과 일치해야 한다. */ 코드 #include #include using namespace std; int main() { int e, s, m, n = 1; cin >> e >> s >> m; while (1) { if ( (n - e) % 15 == 0 && (n - s) % 28 == 0 && (n - m) % 19 == 0 ) break; n++; } cout 2021. 7. 12.
[백준/BOJ] 1712번 - 손익분기점 (C++) 문제 링크 코딩하기 전 생각하기 /* a, b, c를 입력 받는다. 손익분기점을 n이라고 하자. c * n이 a + b * n 보다 크게되는 n의 값을 찾아야한다. n이 커질 수록 c * n과 a + b * n의 간격이 작아지면 손익분기점이 있는것이고 아니면 없는것이다. 즉, c가 b보다 커야 손익분기점이 있다. */ 코드 #include #include using namespace std; int main() { long a, b, c, n = 0; cin >> a >> b >> c; if ( b >= c ) { cout 2021. 7. 11.
[백준/BOJ] 2775번 - 부녀회장이 될테야 (C++) 문제 링크 코딩하기 전 생각하기 /* 수열의 규칙을 파악해본다. 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 1 6 21 56 126 (k, n)의 숫자는 (k, n-1)의 숫자와 (k-1, n)의 숫자를 더한 수이다. 재귀 함수를 선언하자. 0번째 층일 때는 n을 return 하고, 1호일 때는 1을 return 한다. */ 코드 #include #include using namespace std; int func(int k, int n) { if ( k == 0 ) return n; if ( n == 1 ) return 1; return func(k, n-1) + func(k-1, n); } int main() { int t, k, n; cin >> t; fo.. 2021. 7. 11.
[백준/BOJ] 3052번 - 나머지 (C++) 문제 링크 코딩하기 전 생각하기 /* 길이가 42이고 0으로 초기화된 배열을 선언하자. 반복문을 통해서 10번 반복한다. 숫자를 입력받고 42로 나눈 나머지를 인덱스로 해서 값을 1로 바꾼다. 배열을 순회하여 값이 1인 경우를 count하고 출력한다. */ 코드 #include #include using namespace std; int main() { int n; int arr[42] = {0, }; for ( int i = 0; i > n; arr[n%42] = 1; } int count = 0; for ( int i = 0; i < 42; i++ ) { if ( arr[i] == 1 ) count++; } cout 2021. 7. 11.
[백준/BOJ] 2953번 - 나는 요리사다 (C++) 문제 링크 코딩하기 전 생각하기 /* 반복문으로 5명의 점수를 입력받는다. 가장 높은 점수와 그 점수가 나온 번호를 출력한다. */ 코드 #include #include using namespace std; int main() { int max = 0, s; int max_i; for ( int i = 1; i > s; score += s; } if ( score > max ) { max = score; max_i = i; } } cout 2021. 7. 11.
반응형