CodeKata109 [CK] 좌표 압축 - 18870 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 512 MB 26837 11604 8826 41.274% 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -109 ≤ Xi ≤ 109 예제 입력 1.. CodeKata/BOJ 2022. 2. 26. [CK] 골드바흐의 추측 - 9020 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 256 MB 50384 21206 16230 40.777% 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 1.. CodeKata/BOJ 2022. 2. 25. [CK] 베르트랑 공준 - 4948 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 58374 23269 18921 40.157% 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스.. CodeKata/BOJ 2022. 2. 25. [CK] 달팽이는 올라가고 싶다 - 2869 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.15 초 (추가 시간 없음) (하단 참고) 128 MB 133814 36609 31086 28.834% 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 예제 입력 1 2 1 5 예제 .. CodeKata/BOJ 2022. 2. 22. [CK] 단어 공부 - 1157 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 146246 57731 46030 39.096% 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 예제 입력 1 Mississipi 예제 출력 1 ? Solution https://github.com/anothel/BOJ/blob/main/python/.. CodeKata/BOJ 2022. 2. 22. [CK] 나머지 - 3502 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 100371 58432 49907 58.604% 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열 번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 예제 입력 1 1 2 3 4 5 6 7 8 9 10 예제 출력 1 10 Solu.. CodeKata/BOJ 2022. 2. 21. [CK] 평균은 넘겠지 - 4344 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 173170 62801 52499 36.393% 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 예제 입력 1 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 .. CodeKata/BOJ 2022. 2. 21. [CK] 사분면 - 9610 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 4726 3276 3039 71.776% 문제 2차원 좌표 상의 여러 점의 좌표 (x, y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 n (1 ≤ n ≤ 1000)이 주어진다. 다음 n개 줄에는 점의 좌표 (xi, yi)가 주어진다. (-106 ≤ xi, yi ≤ 106) 출력 각 사분면과 축에 점이 몇 개 있는지를 예제 출력과 같은 형식으로 출력한다. 예제 입력 1 5 0 0 0 1 1 1 3 -3 2 2 예제 출력 1 Q1: 2 Q2: 0 Q3: 0 Q4: 1 AXIS: 2 Solution https://github.com/anothel/BOJ/blob/ma.. CodeKata/BOJ 2022. 2. 20. [CK] 팰린드롬인지 확인하기 - 10988 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 13420 8977 7798 68.362% 문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다. 예제 입력 1 level 예제 출력 1 1 예제 입력 2 baekjoon 예제 출력 2 0 Solution http.. CodeKata/BOJ 2022. 2. 20. [CK] 약수들의 합 - 9506 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 6402 3735 3400 60.028% 문제 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. 입력 입력은 테스트 케이스마다 한 줄 간격으로 n이 주어진다. (2 < n < 100, 000) 입력의 마지막엔 -1이 주어진다. 출력 테스트 케이스마다 한 줄에 하나씩 출력해야 한다. n이 완전수라면, n을 n이 아닌 약수들의 합으로 나타내어 출력한다(예제 출력 참고). 이때, 약수들은 오름차순으로 나열해야 한다. n이 완전수가 아니라면 n is NOT perfect. 를 출력한다. 예제.. CodeKata/BOJ 2022. 2. 19. [CK] 네 번째 점 - 3009 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 27545 19836 17915 73.078% 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 5 5 5 7 7 5 예제 출력 1 7 7 예제 입력 2 30 20 10 10 10 20 예제 출력 2 30 10 Solution https://github.com/anothel/BOJ/blob/main/python/3009_FourthPoint.py GitHub - anothel/BOJ Contr.. CodeKata/BOJ 2022. 2. 19. [CK] 수들의 합 - 1789 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 23402 9919 8396 43.298% 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. 예제 입력 1 200 예제 출력 1 19 Solution https://github.com/anothel/BOJ/blob/main/python/1789_Add_of_numbers.py GitHub - anothel/BOJ Contribute to anothel/BOJ development by creating an account on GitHub. github.co.. CodeKata/BOJ 2022. 2. 19. [CK] 위대한 사기꾼 - 3996 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 322 81 67 32.367% 문제 믿기 힘들겠지만 상근이는 이번 겨울 방학에 달에 갔다 왔다. 방학이 끝나고 다시 학교로 돌아온 상근이는 친구들에게 달나라 사람(Selenites)을 만났던 이야기를 해주었다. 상근이는 달에서 사용하는 수 체계를 주로 설명해주었다. 달에서는 음의 진법을 사용한다. 입력 출력 첫째 줄에 상근이가 달에서 생활하면서 외운 숫자의 개수를 출력한다. 예제 입력 1 21 3 예제 출력 1 9 예제 입력 2 21 2 예제 출력 2 8 힌트 첫 번째 예제에서 상근이는 0, 1, 2, 9, 10, 11, 18, 19, 20을 외웠다. 19는 3진법과 -3진법에서 19 = 2013 = 201-3으로 표현이 같다... CodeKata/BOJ 2022. 2. 18. [CK] 화성 수학 - 5355 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 5640 3416 3103 62.852% 문제 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, % 는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그다음에는 연산자가 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 입력으로 주어지는 수는 정수이거나 소수 첫째 자리까지 주어지며, 0 이상 100 이하이다. 연산자는 최대 3개 주어진다. 출력 각 테스트 케이스에 대해서, 화성 수학식의 결.. CodeKata/BOJ 2022. 2. 17. [CK] 시험 성적 - 9498 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 206701 114084 98734 56.000% 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제 입력 1 100 예제 출력 1 A Solution https://github.com/anothel/BOJ/blob/main/python/9498_Credit.py 후기 파이썬은 기존에 내가 사용하던 C/C++와 상당히 비슷하면서도 새로운 문법을 가지고 있다. if, els.. CodeKata/BOJ 2022. 2. 16. [CK] 오븐 시계 - 2525 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 26150 11894 10594 46.626% 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 현재 시각이 나온다... CodeKata/BOJ 2022. 2. 16. [CK] 초콜릿 자르기 - 2163 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 23850 16547 14514 71.727% 문제 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿을 친구들과 나눠 먹기로 했다. 이를 위해서 정화는 초콜릿을 계속 쪼개서 총 N×M개의 조각으로 쪼개려고 한다. 초콜릿을 쪼갤 때에는 초콜릿 조각을 하나 들고, 적당한 위치에서 초콜릿을 쪼갠다. 초콜릿을 쪼갤 때에는 금이 가 있는 위치에서만 쪼갤 수 있다. 이와 같이 초콜릿을 쪼개면 초콜릿은 두 개의 조각으로 나눠지게 된다. 이제 다시 이 중에서 초콜릿 조각을 하나 들고, 쪼개는 과정을 .. CodeKata/BOJ 2022. 2. 16. [CK] A+B - 7 - 11021 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 147827 73641 64900 50.207% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 예제 입력 1 5 1 1 2 3 3 4 9 8 5 2 예제 출력 1 Case #1: 2 Case #2: 5 Case #3: 7 Case #4: 17 Case #5: 7 Solution https://github.com/ano.. CodeKata/BOJ 2022. 2. 16. [CK] Create Phone Number Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number. Example createPhoneNumber(int[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}) // => returns "(123) 456-7890" The returned format must be correct in order to complete this challenge. Don't forget the space after the closing parentheses! Solution #include std::string ge.. CodeKata/Codewars 2022. 2. 15. [CK] Row of the odd triangle Given a triangle of consecutive odd numbers: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 ... find the triangle's row knowing its index (the rows are 1-indexed), e.g.: odd_row(1) == [1] odd_row(2) == [3, 5] odd_row(3) == [7, 9, 11] Note: your code should be optimized to handle big inputs. Solution #include std::vector odd_row(unsigned long long n) { std::vector vResult; unsigned long long c = n * (n-.. CodeKata/Codewars 2022. 2. 14. 이전 1 2 3 4 ··· 6 다음