본문 바로가기

Coding Tests/백준 온라인

(35)
(Python) 백준 25495번 https://www.acmicpc.net/problem/25495 25495번: 에어팟 다섯 번째 핸드폰까지 연결하면 누적 배터리 소모량은 62퍼센트가 된다. 그리고 여섯 번째 핸드폰에 연결하면 배터리 소모량이 100퍼센트 이상인 126퍼센트가 되므로 현재 에어팟은 충전시켜야 www.acmicpc.net N = int(input()) phone = list(map(int,input().split())) battery = 2 n = 2 for i in range(1,N): if phone[i-1]==phone[i]: n*=2 battery +=n if battery >= 100: battery = 0 n = 1 else: battery +=2 print(battery) 위 코드에는 반례가 존재하게 됩니다..
(Python) 백준 1193번 https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 1/1 1/2 2/1 3/1 2/2 1/3 1/4 2/3 3/2 4/1 5/1 4/2 3/3 2/4 1/5 1/6 2/5 3/4 4/3 5/2 6/1 7/1 6/2 5/3 4/4 3/5 2/6 1/7 짝수(짝수번째 줄)는 분모가 큰 것으로 첫 분수를 시작합니다. 반대로, n = 홀수는 분자가 분모보다 큰 수로 시작을 합니다. 분모 혹은 분자가 큰 수로 시작을 한다면 마지막에는 1이 되고, 작은 값으로 시작을 한다면 마지막에는 n의 값이 되는 규칙을 볼 수 있습니다. 첫 시작에 point를 둬야 하는데, 첫 시작의 분모나 분자가 ..
(PYTHON) 백준 25494 https://www.acmicpc.net/problem/25494 25494번: 단순한 문제 (Small) 세 양의 정수 $a$, $b$, $c$가 주어질 때, 다음 조건을 만족하는 정수 쌍 $(x, y, z)$의 개수를 구하시오. $1 \le x \le a$ $1 \le y \le b$ $1 \le z \le c$ $(x\,\bmod\,y) = (y\,\bmod\,z) = (z\,\bmod\,x)$ $(A\,\bmod\,B)$는 $A$를 $B$ www.acmicpc.net 처음에는 나머지의 쌍을 찾는 문제인줄 알고 0,0,0 일 수 있는 경우는 왜 문제에 없지.. 라는 생각을 했었습니다. 그렇지만 문제를 자세히 읽어보니 나머지의 쌍이아니라 나머지가 같은 경우를 포함한 x,y,z의 쌍을 구하는 문제였습..
(Python) 백준 25373번 https://www.acmicpc.net/problem/25373 25373번: 벼락치기 부산사이버대학교에 다니는 대희는 강의 영상 보는 것을 매일 미뤘다. 오늘은 중간고사가 일주일 남은 날이다. 대희는 더 이상 미루면 큰일이 날 것 같아서 오늘부터 밀린 영상을 보기로 했다. www.acmicpc.net 첫날 봐야 하는 영상 개수가 최솟값이어야 합니다. ( 인강을 7개 들어야 한다면 첫째 날에 그냥 벼락치기 방법은 안된다는 것이죠... ) N = 1이면 1 N = 2이면 2 N = 3이면 2 1 N = 4이면 3 1 N = 5이면 3 2 N = 6이면 3 2 1 N = 7이면 4 3 N = 8이면 4 3 1 N = 9이면 4 3 2 N = 10이면 4 3 2 1 N = 11이면 5 3 2 1 N = 1..
( Python ) 백준 1676번 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net N = int(input()) sum = 1 for i in range(1,N+1): sum *=i sum1 = list(str(sum)) print(sum1.count('0')) N = int(input()) sum = 1 num = 0 for i in range(1,N+1): sum *=i for j in range(len(str(sum))): if sum%10 !=0: break sum//=10 num+=1 print(num) 첫 풀이가 오답인 이유는 sum1의 값에서 0의 개..
( C ) 백준 온라인 - 4344번 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net #include int main(void) { int arr[1000]; int T,student,score,i,j,k; int sum = 0,avg = 0; double result =0; scanf("%d", &T); for (i = 0; i < T; i++) { scanf("%d", &student); for (j = 0; j < student; j++) { scanf("%d", &score); arr[j] = score; sum += arr[j]; } avg = sum / student; for (k = 0; k < student;..
( C ) 백준온라인 - 1110번 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net #include int main(void) { int num; scanf("%d", &num); int mox, remainder,sum,num1; num1 = num; int i; for (i = 1; ; i++) { mox = num1 / 10; remainder = num1 % 10; sum = (mox + remainder); num1 = remainder * 10 + sum%10; if (num == num1) break; else con..
( C ) 백준온라인 8958번 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net N개의 문자열에따른 결과값들을 출력을 해야 한다. 크게 보면 2가지부분을 고려해야 하는데, 문자열N개를 입력을 받아야 한다는 것과, 그 문자열에 따른 결과값을 조건에 맞게 출력을 할 수 있게끔 구현해야 한다는 것이다. 우리가 문자열 N개를 입력받아야 한다면 어떻게 해야할까? 문자열 2개, 3개 등 갯수가 정해져 있다면 그 갯수에 맞게끔 문자열 배열을 2개 , 3개 만들어 줄 수..