목록CodingTest/C++ (13)
기록방
👉 문제링크 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 🔸 문제 분석 🔸 분해합 N : 자연수 M과 그 M의 자릿수를 각각 더해서 나오는 수 >> M은 N의 생성자 생성자가 없는 경우를 생각하다가 1~10의 생성자는 무조건 2배이고 짝수라는 걸 깨달았다. 생성자는 분해합보다 항상 1이상 작은 것 같으니 1부터 입력된 자연수 까지 증가시키며 분해합을 해보면 될 것 같다. 🔸 코드 🔸 #include #include using namespace std; int main(void)..
👉 문제링크 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 🔸 문제 분석 🔸 방을 채워가는 방법은 왼쪽아래부터 위로 한줄 한줄 채워가는 것이다. N > T; for (int i = 0; i > H >> W >> N; if (N%H == 0) printf("%d%02d\n", H, N / H); else printf("%d%02d\n", N % H, N / H + 1); } return 0; } 🔸 코드 해석 🔸 층을 N%H, 호실을 N / H + 1로 나타냈는데, 가장..
👉 문제링크 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net 🔸 문제 분석 🔸 문자열을 대문자 혹은 소문자로만 이루어 지도록 통일시키는 변환이 필요하다. 사전식 오름차순 정렬에서 가장 앞에오는 것을 고른다. 입력받자마자 전 값과 비교해서 출력하는 코드를 작성했지만, 오류가 많이 나서 정답 포스팅을 참조했다. 🔸 기존 코드 (오답)🔸 #include #include using namespace std; int main(void) { int n; string input, answer, temp; do { cin ..
👉 문제링크 22351번: 수학은 체육과목 입니다 3 이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에, www.acmicpc.net 🔸 문제 분석 🔸 문자열의 숫자 변환이 필요하다. A, B 모두 1~999 이므로 순서대로 입력했을때 1~2889 범위가 나오는 것 같다. 숫자의 자릿수는 1~3 이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { int A, B = 0, count, temp = 0, ac, len; string s; cin >> s; for (int i = 1, j; i
보호되어 있는 글입니다.