본문 바로가기

Coding Tests

(78)
( C ) 백준 온라인 3052번 https://www.acmicpc.net/problem/3052 #include int main(void) { int arr[10]; for (int i = 0; i = 1) { k++; } } printf("%d", k); return 0; } 10개의 수를 입력을 받아 42로 나눈 나머지를 가지고 서로 다른 값이 몇 개인지 개수를 구하는 문제이다. 처음에는 42로 나눈 나머지..
( C ) 백준 온라인 2577번 <숫자의 개수 구하기> https://www.acmicpc.net/problem/2577 #include int main(void) { int arr[3]; for (int i = 0; i < 3; i++) scanf("%d",&arr[i]); char sum[10] = { arr[0] * arr[1] * arr[2] }; for (int i = 0; i < 10; i++) { printf("%d\n",sum[i]); } return 0; } 처음 문제를 구상할때, 숫자의 갯수를 어떻게 구할지에 대해서는 생각이 났지만, 그것을 구하기위한 중간과정이 잘 생각이 나지 않았다. 문자열의 배열요소들을 통해 0부터 9까지의 반복을 통해 각 숫자원소가 몇번 쓰였는지를 구하려 하였었지만 풀지 못하였다. 그래서 이 문제에대한 여러 풀이를 보..
(Java) 백준온라인 1000번 https://www.acmicpc.net/problem/1000 import java.util.scanner public class Main{ public static void main(String[] args){ scanner sc = new scanner(System.in); int a = nextInt(); int b = nextInt(); System.out.println(a+b); sc.close(); } } import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextIn..
( C )백준온라인 2525번 https://www.acmicpc.net/problem/2525 위 코드를 보면 입력받은 C 분을 60으로 나눈 몫과 나머지를 각각 A와 B에 더하도록 코드를 설정하였다. 예를 들어 C = 80이라면 몫은 1이고 나머지는 20으로 A에 1시간을 더해준다 생각할 수 있고, B에 20분을 더하여 준다 생각할 수 있다. 그런데 이 부분에서의 오류가 있다. 바로, B의 값이, 예를 들어 50일 때 20을 더해주면 70이다. 이 70은 밑의 if문의 m = m - 60의 대입 연산에 의해 m값이 10으로 바뀌어 출력을 할 때에, 우리가 예상했던 '분(minute)'을 구할 수 있지만, 이 '분'이 60이 넘어가면 '시' 에 1을 더해주어야 하는데 위의 풀이로는 그렇게 구현을 해낼 수가 없었다. 그래서 자리올림을..
(C언어) 백준온라인 2884번 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net #include int main(void) { int h, m,s; scanf("%d %d", &h, &m); if (m >= 45) printf("%d %d", h, m - 45); if (m < 45) { s = 45 - m; if (h == 0) printf("23 %d", 60 - s); if(h!=0) printf("%d %d", h - 1, 60 - s); } return 0; } m < 45 ..
C언어_백준온라인 2480번 #include int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); if (a == b == c) printf("%d", 10000 + a * 1000); if ((a == b)&&(a != c)) printf("%d", 1000 + a * 100); if ((b == c)&&(b!= a )) printf("%d", 1000 + b * 100); if ((a == c)&&(a != b)) printf("%d", 1000 + c * 100); if ((a != b) && (b != c) && (a != c)) { if ((a > b > c)||(a > c > b)) printf("%d", a * 100); if ((b > a > c) || (b > ..
(C언어) 백준온라인 7568번(덩치) https://www.acmicpc.net/problem/7568 #include int main(void) { int N, i, j, k; int arr[50][2]; scanf("%d", &N); for (i = 0; i < N; i++) { scanf("%d %d", &arr[i][0],&arr[i][1]); } for (i = 0; i < N; i++) { k = 0; for (j = 0; j < N; j++) if (arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1]) k++; printf("%d ", ++k); } return 0; } 처음에는 키, 몸무계 따로 배열을 생성하려고 했으나 이차원배열이 조금 더 어울리다는 생각이 들어 이차원배열로 입력값을 받게 되었..
(C언어) 백준 온라인-별 찍기 #include int main(void) { int n; scanf("%d",&n); for (int i = 0; i < n; i++) { for (int j = 0; j