자기개발👨‍💻/코딩 알고리즘 119

[python] 백준 2775 부녀회장이 될테야

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net import sys n = int(sys.stdin.readline()) for i in range(n): people = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] k=int(sys.stdin.readline()) n = int(sys.stdin.readline()) for j in range(k): for k in range(1,n): people[k]+=people[k-1] print(pe..

[python] 백준10816 숫자 카드2

https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net from collections import Counter import sys a=int(sys.stdin.readline()) numbers=[] numbers=list(map(int,sys.stdin.readline().split())) b=int(sys.stdin.readline()) howmany=list(map(int,sys.stdin.readline()...

[python] 백준11866 요세푸스문제 0

https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net from collections import deque n,k = map(int,input().split()) numbers = deque([i for i in range(1,n+1)]) cnt=0 result="" print(result) cnt는 k까지 가는 횟수이다. 따라서 cnt가 k일때와 아닐때로 경우를 나눴다. 인덱스를 사용하면 머리아파지므로 맨 앞에서 작업을 할 수 있게 반복문을 순회할때마다 pop한 값을 append해서 진행하기로 했다. 리스트였다면 연산 시간이 길어졌..

[python] 백준10866 덱

https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys from collections import deque d=deque() n=int(sys.stdin.readline()) for i in range(n): inp=sys.stdin.readline().split() if inp[0]=="push_front": d.appendleft(inp[1]) elif inp[0]=="push_back": d.append(in..

[python] 백준2839 설탕 배달

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net import sys n=int(sys.stdin.readline()) b5 = n//5 r = n%5 b3=0 if r==0: print(b5) elif r==1 and b5>=1: # 5봉지하나 줄이기 b5-=1 b3+=2 print(b5+b3) elif r==2 and b5>=2: b5-=2 b3+=4 print(b5 + b3) elif r==3: b3+=1 print(b5 + b3) elif r==4 ..

[python] 백준 4344 평균은 넘겠지

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net import sys n=int(sys.stdin.readline().rstrip()) for i in range(n): cnt=0 lis = list(map(int,sys.stdin.readline().split())) ave = sum(lis[1:])/lis[0] for j in (lis[1:]): if ave

[Python] 백준4153 직각삼각형

import sys while(True): inp=sys.stdin.readline() number = list(map(int, inp.split())) if number[0]== 0:break number.sort() if number[0]*number[0]+number[1]*number[1]==number[2]*number[2]: print("right") else: print("wrong") 이 문제의 포인트는 입력받은 수가 a,b,c라고 할 때, c가 제일 큰 값이라는 보장이 없다는 것이다. 따라서, 입력받은 후 sort를 이용해 정렬을 하고 직각 판별하는 작업을 해야한다.