[백준 10952] A+B - 5 [C] 소스코드 #include int main(){ int A, B; while (1){ scanf("%d %d", &A, &B); if (A == 0 && B == 0) break; printf("%d\n", A+B); } } 제출 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net PS/Baekjoon Online Judge 2021.07.13
[백준 10951] A+B - 4 [C] #include int main() { int A, B; while (EOF != scanf("%d %d", &A, &B) && printf("%d\n", A + B)); } 출처 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net PS/Baekjoon Online Judge 2021.07.13
[백준 10950] A+B - 3 [C] 풀이 scanf()함수는 성공적으로 입력받은 변수의 수를 반환하며, 이때의 양수는 참(True)임을 이용해 해결할 수 있다. 소스코드 #include int main() { int T, A, B; scanf("%d", &T); while (T-- && scanf("%d %d", &A, &B)) printf("%d\n", A+B); } 출처 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net PS/Baekjoon Online Judge 2021.07.13
[백준 10869] 사칙연산 [C] 소스코드 #include int main(){ int A, B; scanf("%d %d", &A, &B); printf("%d\n%d\n%d\n%d\n%d", A+B, A-B, A*B, A/B, A%B); } 출처 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net PS/Baekjoon Online Judge 2021.07.13
[백준 2164] 카드2 [C] 풀이 본래 Queue를 이용해 푸는 문제지만, 다음과 같은 규칙성이 존재해 간단하게 풀이했다. N이 1일때, 결과가 1이다. N >= 2 일때, N에서 N보다 작은 2의 제곱을 뺀 값에 2를 곱해준 값이 결과와 일치한다. 65~128까지의 N은 N보다 작은 2의 배수인 64를 뺀 값에 2배를 곱하여 출력할 것이다. 129 ~ 256의 N또한 마찬가지로 N보다 작은 2의 배수인 128를 뺀 값에 2배를 곱하여 출력할 것이다. 소스코드 #include int main(){ int N, sq = 1; scanf("%d", &N); for (; sq PS/Baekjoon Online Judge 2021.07.13
[백준 10814] 나이순 정렬 [C] 풀이 나이와 이름을 등록할 수 있는 구조체를 만들어 사용하자. 나이가 같을 경우 등록된 순서대로 출력을 해주어야 하기 때문에 다음과 같은 방법을 생각해 볼 수 있다. 구조체 내부에 order변수를 선언해서 등록 순서를 입력 조금은 복잡하지만 구조체 배열의 인덱스를 활용하여 메모리를 절약 등록순서 1 2 3 4 5 6 7 " " 나이 20 21 20 23 21 20 23 " " 하지만, 나이를 고려하지 않을 경우 이미 등록 순서는 오름차순으로 정렬되있다, 때문에 추가로 정렬을 해주지 않고, 가장 적은 나이에서 가장 많은 나이까지 분류를 하여 출력해주는 방식으로 해결했다. 등록순서 1 3 6 나이 20 20 20 등록순서 2 5 나이 21 21 등록순서 4 7 나이 23 23 소스코드 #include #in.. PS/Baekjoon Online Judge 2021.07.13
[백준 10818] 최소, 최대 [C] 풀이 N개의 정수를 전부 저장할 필요 없이 입력받은 직후 최솟값인지, 최댓값인지 구분해 해결할 수 있다. 소스코드 #include int main() { int N, num, max, min; scanf("%d", &N); for (int i = 0; i max) max = num; } printf("%d %d", min, max); } 출처 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 .. PS/Baekjoon Online Judge 2021.07.13
[백준 10809] 알파벳 찾기 [C] 풀이 모두 소문자만 입력된다는 점을 index로 이용하면 된다. str[i] 'a' 'b' " " 'y' 'z' str[i] - 'a' 0 1 " " 24 25 str[i] - 'a' 를 index로 활용하여, 각 알파벳에 맞는 배열의 값에 처음으로 등장하는 위치(값)을 입력해주면 된다. 단, 중복해서 값이 들어가는 것을 방지하기 위해 배열의 요소 값이 0(초기값)일 때만 입력하도록 한다. 소스코드 #include int main(){ char str[101], cnt[26] = { 0, }; scanf("%s", str); for (int i = 0; str[i] != '\0'; i++) if (!cnt[str[i] - 'a']) cnt[str[i] - 'a'] = i + 1; for (int i = .. PS/Baekjoon Online Judge 2021.07.13
[백준 9498] 시험 성적 [C] 풀이 0~100 사이의 점수만 입력되는 친절한 문제이다. 입력된 점수를 10으로 나눈 값을 index로 활용하여 해결할 수 있다. 소스코드 #include int main(){ int grade; scanf("%d", &grade); putchar("FFFFFFDCBAA"[grade/10]); } 출처 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net PS/Baekjoon Online Judge 2021.07.12
[백준 10172] 개 [C] 풀이 공백 개수를 잘 맞추자. 소스코드 #include int main() { puts("|\\_/|\n|q p| /}\n( 0 )\"\"\"\\\n|\"^\"` |\n||_/=\\\\__|"); } 출처 PS/Baekjoon Online Judge 2021.07.12