전체 글 120

백준 1978 소수찾기 - Python

출처: https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net n = int(input()) a = list(map(int, input().split())) prime = 0 for i in a: cnt = 0 if i==1 : continue for j in range(2,1001): if i % j == 0 : cnt += 1 if cnt == 1: prime += 1 print(prime) 풀이 : 입출력은 늘 하던 대로 받아와준다. 그리고 정답을 출력할 prime = 0 으로 지정해준다. 이제 코드를 보면 for..

백준 10757 큰 수 a+b -python

출처 : https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 a,b = map(int, input().split()) print(a+b) 어찌보면 틀렸고어찌보면 맞았다... 이틀전 들었던 자바 수업시간에 저렇게 큰 수는 출력하는데 %를 써야한다던지 범위를 바꿔야한다던지 해서 조금 헷갈렸다. 결론적으로 ! 다른 언어는 좀 까다로울 수 있는데 우리 python은 저정도 아주 쉽게 연산한다고 한다. python이 연산력이 좋다고 봤는데 그래서 딥러닝에 많이 쓰이나?

백준 2839 설탕배달 - python

출처 : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이: n = int(input()) cnt =0 while n >= 0 : if n%5 == 0: cnt += n//5 print(cnt) break n -= 3 cnt += 1 else : print(-1) 틀렸다~~~ 케이스 계속 나누면서 if 에 if를 넣고 삼항연사자 넣고 또 if elif 넣으면 어거지로 풀리기는 할텐데 하다가 아니다 싶어서 풀이를 봤다. 문제 자체에서 요구하는건 일단 5..

백준 2775 부녀회장이 될거야 - python

출처 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net t = int(input()) for _ in range(t): k = int(input()) n = int(input()) ppl = [i for i in range(1,n+1)] for x in range(k): for y in range(1,n): ppl[y] = ppl[y] + ppl[y-1] print(ppl[-1]) 1. 입출력은 늘 하던거라 생략한당 2. 문제를 뜯어 보면 이해가 좀 어려웠는데 좀 더 친절하게 써줄 필요..

백준 10250 acm 호텔 - python

https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 풀이 : t = int(input()) for _ in range(t): h, w, n = map(int, input().split()) if n % h == 0: front = h back = int(n/h) else : front = n % h back = int(n/h +1) print(front * 100 + back) 일단 2번 틀렸는데 n % h =0 이되면 층수가 0층이 ..

백준 2869 달팽이는 올라가고 싶다. - python

출처 : https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net a,b,v = map(int, input().split()) dis = v - a if dis % (a-b) == 0 : t = int(dis/(a-b)) else : t = int(dis/(a-b)+1) print(t + 1) 풀이 : while 로 풀면 시간초과가 나온다. 우리가 푸는 수학방식을 선호하지말자. 다음은 어떻게 풀었냐면 직관적으로 해석 해도 된다 . 일단 쉽게 설명하면 거속시이다. 도착한 날 전날이 아주 중요하다. 그래서 도착 전..

백준 1193 분수찾기 - python

출처 : https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net x = int(input()) cnt = 0 sum_cnt = 0 while sum_cnt < x: cnt += 1 sum_cnt += cnt if cnt % 2 == 1: a = sum_cnt - x + 1 b = cnt -sum_cnt + x else : a = cnt - sum_cnt + x b = sum_cnt -x + 1 print(f'{a}/{b}') 풀이 : 분자 부분을 보면 1 12 321 1234 54321 구조를 갖고 있고 분모를 보면 1 21 123 4321 12345 이런 구조를 갖고 있다. 따라서..

백준 1011 Fly me to the Alpha Centauri - python

출처 : https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 풀이 : T = int(input()) for i in ragne(T): x, y = map(int, input().split()) d = y - x n = 0 while True : if d k_2 -> ....->k_n -> y로 가는 문제이다. 그때 이 n이 몇인지를 물어보는 문제라고 이해하면 좋다. 근데 조건은 k_1 과 k_n은 각각 ..

코딩테스트 2022.01.06