전체 글

백준

백준 9506번: 약수들의 합 (C언어)

백준 9506번: 약수들의 합 링크 https://www.acmicpc.net/problem/9506 문제를 풀기 전 생각한 것 테스트 케이스마다 한 줄 간격 2 99999 || n == -1) { break; } int ans[50] = {0}; int temp = 0, count = 0; for (int i = 1; i < n; i++){ if (..

백준

백준 5086번: 배수와 약수 (C언어)

백준 5086번: 배수와 약수 링크 https://www.acmicpc.net/problem/5086 문제를 풀기 전 생각한 것 배수를 구할 때와 약수를 구할 때의 방법이 같은데 어떻게 표현해야 할지 생각해 봤다 풀면서 어려웠던 점 문제를 제대로 읽지 않아서 배수와 약수를 구하는 것이 헷갈렸다 코드 #include int main(void) { int first, second; while (1) { scanf("%d %d", &first, &second); if (first == 0 && second == 0){ break; } if (second % first == 0) { printf("factor\n"); } else if (first % second == 0) { printf("multiple\n..

백준

백준 2903번: 중앙 이동 알고리즘 (C언어)

백준 2903번: 중앙 이동 알고리즘 링크 https://www.acmicpc.net/problem/2903 문제를 풀기 전 생각한 것 규칙을 생각해 봤다 문제에서 초기에는 4, 1번에는 9, 2번에는 25라고 했으니 제곱수인 것을 생각해서 2^2,3^2,5^2로 규칙을 따져보니 1에 2의 거듭제곱만큼 더한 뒤 제곱한다는 규칙이 나왔다 EX) 1 + 2^0 = 2 1 + 2^1 = 3 1 + 2^2 = 5 1 + 2^3 = 9 1 + 2^4 = 17 1 + 2^5 = 33 이것을 식으로 구해보면 (2^n+1)^2가 나오고 이것을 기반으로 코드를 짰다 풀면서 어려웠던 점 풀면서 어려웠던 점은 없었다 코드 #include #include int main(void) { int N; int ans; scanf(..

백준

백준 2720번: 세탁소 사장 동혁 (C언어)

백준 2720번: 세탁소 사장 동혁 링크 https://www.acmicpc.net/problem/2720> 문제를 풀기 전 생각한 것 테스트 케이스 입력이 1 이상 500 이하인 것 입력받은 값을 어떻게 나눌지 그리고 나눈 값들을 어떻게 저장하고 출력할지 풀면서 어려웠던 점 처음에는 배열로 시작해서 풀려고 했는데 많이 돌아가는 느낌이었다 그래서 그냥 간단하게 계산해서 바로 출력하는 방식으로 풀었다 코드 #include int main(void) { int T, C; int Q, D, N, P; scanf("%d", &T); for (int i = 0; i = 1 && C

백준

백준 11005번: 진법 변환 2 (C언어)

백준 11005번: 진법 변환 2 링크 https://www.acmicpc.net/problem/11005 문제를 풀기 전 생각한 것 제목이 진법 변환 2여서 당연히 1보다 어렵겠지 라고 생각하고 풀었다 근데 1을 풀었어서 그런지 훨씬 쉬웠다 풀면서 어려웠던 점 14, 17번째 줄에서 cnt++을 했고 마지막에 하나를 더 더하면서 끝나는데 이걸 생각하지 않고 22번째 줄에서 cnt-1로 하지 않고 cnt로 해서 틀렸는데 이걸 찾지 못해서 조금 헤맸다 코드 #include int main(void) { char ans[10001] = {0}; int N, B; int input, cnt = 0; scanf("%d %d",&N,&B); for (int i = N; i > 0;) { input = i % B;..

백준

백준 2745번: 진법 변환 (C언어)

백준 2745번: 진법 변환 링크 https://www.acmicpc.net/problem/2745 문제를 풀기 전 생각한 것 입력받은 게 알파벳인지 숫자인지 판별해 55를 빼줘야 할지 48을 빼줘야 할지 정하기 풀면서 어려웠던 점 예제는 제대로 나오는데 다른 수를 넣어보니 답이 이상하게 나왔다 이유는 pow 함수 때문이다 원래는 아래 코드가 아니라 pow(B, i)이었다 코드 #include #include #include int main(void) { char N[36] = {0}; int B, ans = 0; scanf("%s %d",N,&B); for (int i = 0; i = 'A' && N[i]

백준

백준 2501번: 약수 구하기 (C언어)

백준 2501번: 약수 구하기 링크 https://www.acmicpc.net/problem/2501 문제를 풀기 전 생각한 것 X 풀면서 어려웠던 점 마지막 출력문에서 else printf("0");를 추가하지 않아 계속 틀렸다 코드 #include int main(void) { int div[10001] = {0}; int N, K; int j = 0; scanf("%d %d", &N, &K); for (int i = 1; i

백준

백준 10798번: 세로읽기 (C언어)

백준 10798번: 세로읽기 링크 https://www.acmicpc.net/problem/10798 문제를 풀기 전 생각한 것 다섯 줄의 입력이므로 5행이고 최대 15개의 글자가 입력되므로 15열이다 2차원 배열로 표현하면 [5][15] 가 되겠다 풀면서 어려웠던 점 조건문에서 배열의 끝을 검사해야 하는데 작은따옴표를 넣지 않아서 에러가 났었다 코드 #include int main(void) { char string[5][15] = {0,}; for (int i = 0; i < 5; i++) { scanf("%s",string[i]); } for (int j = 0; j < 15; j++) { for (int k = 0; k < 5; k++){ if (string[k][j] != '\0'){ print..

백준

백준 25206번: 너의 평점은 (C언어)

백준 25206번: 너의 평점은 링크 https://www.acmicpc.net/problem/25206 문제를 풀기 전 생각한 것 등급을 입력받아 과목 평점으로 바꾸기 1 ≤ 과목명의 길이 ≤ 50 풀면서 어려웠던 점 처음엔 등급을 하나씩 비교하며 전공 평점을 구하려고 했다 하지만 코드가 길고 복잡해졌고 오류도 많았다 그래서 배열에 처음 들어오는 등급으로 소수점 앞부분을 먼저 구하고 그다음에 들어오는 +를 받아서 0.5를 더하는 방식으로 풀었다 코드 #include int main(void) { double score; char subject[50]; char major[2]; double ans, sumScore, majorScore = 0.0; for (int i = 0; i < 20; i++){ ..

백준

백준 10988번: 팰린드롬인지 확인하기 (C언어)

백준 10988번: 팰린드롬인지 확인하기 링크 https://www.acmicpc.net/problem/10988 문제를 풀기 전 생각한 것 단어의 길이는 1보다 크거나 같고 100보다 작거나 같음 for 문에서 검사 범위를 어디까지 할지 풀면서 어려웠던 점 처음에 for 문 범위를 max/2로 했었다 다 풀고 나서 생각해 보니 왜 그렇게 생각했는지 모르겠다 코드 #include #include int main(void) { char palindrome[100] = {0,}; scanf("%s" , palindrome); int max = strlen(palindrome); int ans = 0; for (int i = 0; i < max; i++){ if (palindrome[i] == palindro..

NamDoHyeon
뉴비 개발자