PS

· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 2. 접근 https://2nnsv.tistory.com/11?category=1281866 3. 문제풀이 #include #define max 1001 int main() { int N, K, a[max], cnt=0; scanf_s("%d %d", &N, &K); for (int i = 2; i
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 2. 접근 알파벳 입력에 따라 해당되는 num이 달라지고, 입력할 때마다 t가 증가한다 만약에 WA를 입력 받았다면, W에 해당되는 num은 9이고 t는 10이다. A에 해당되는 num은 2이고 t는 3이다. 따라서 결과는 13 int dial(int w) { int num, t; if (w == 'A' || w == 'B' || w == 'C') { num = 2; t = 3; } if (w == 'D' || w == 'E' || w == 'F') { num = 3; ..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 접근 단순하게 생각했을 때는, 입력받은 a와 b를 배열에 저장해 배열의 순서를 반대로 바꾸고 각 배열의 첫번째를 서로 비교, 같다면 각 배열의 두번째를 비교, 같다면 각 배열의 세번째를 비교하도록 생각했다. "a[0] > b[0]" -> true -> a 출력 -> false -> "a[0] b 출력 -> "a[0] == b[0]" -> "a[1] > b[1]" -> tru..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 2. 접근 ' ' 단위로 구분해 배열에 입력받는다. 문자열의 첫번째 혹은 마지막에 공백이 있는지 확인한다. 3. 문제풀이 #define _CRT_SECURE_NO_WARNINGS #include #include char a[1000005]; int main() { int ans = 0; scanf("%[^\n]s", a); // 공백이 나올 때까지 입력받음 if (a[0] != '..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 2. 접근 #include int main() { /* 입력 받을 소수의 개수를 N으로 받음 */ /* N개의 소수를 받음 */ /* 소수 판단 */ return 0; } 3. 문제풀이 #define _CRT_SECURE_NO_WARNINGS #include int main() { int N, str[100], cnt=0; scanf("%d", &N); for (int i = 0; i < N; i++) { // N개의 소수를 배열에 저장 scanf("%d..
· PS/BOJ
1. 문제 2. 최종답안 #include int main() { int x, y; scanf("%d", &x); scanf("%d", &y); if (x > 0 && y > 0) printf("1"); else if (x 0) printf("2"); else if (x < 0 && y < 0) printf("3"); else printf("4"); return 0; }
· PS/BOJ
1. 문제 문제 이해 윤년이란? 4년에 한 번씩 찾아오는 2월이 29일인 해 -> 4의 배수이면서 100의 배수가 아니거나 400의 배수일 때 3. 최종 답안 #define _CRT_SECURE_NO_WARNINGS #include int main() { int year; scanf("%d", &year); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) printf("1"); else printf("0"); }
· PS/BOJ
1. 문제 2. 문제 이해 입력 : 26 2+6 = 8 -> 68 6+8 = 14 -> 84 8+4 = 12 -> 42 4+2 = 6 -> 26 출력 : 4 앞의 수의 1의 자리수가 다음 수의 10의 자리수가 되며, 앞의 자리 수 각각을 더한 값의 1의 자리수가 다음 수의 1의 자리가 된다. 3. 접근 N의 10의 자리수와 1의 자리수를 더해 return 하는 방식으로 코드를 짰더니 8번이나 넘는 오답이 발생해 다시 보니 문제를 잘못 이해했었다. #include int main() { int N, a, b, num, cnt=0; scanf_s("%d", &N); a = N / 10; // N의 10의 자리 b = N % 10; // N의 1의 자리 while(1) { num = 10 * b + (a + ..
소-은
'PS' 카테고리의 글 목록 (4 Page)