티스토리챌린지
-
문제 보기 : 10026번: 적록색약 문제정답률 : 56%작성 코드T = int(input())graph = [list(input()) for _ in range(T)]direction = [(-1,0),(1,0),(0,-1),(0,1)]visited_normal = [[-1]*T for _ in range(T)]visited_abnormal = [[-1]*T for _ in range(T)]from collections import dequedef normal(graph,start,visited,p): visited[start[0]][start[1]]=p dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy ..
G5 10026. 적록색약문제 보기 : 10026번: 적록색약 문제정답률 : 56%작성 코드T = int(input())graph = [list(input()) for _ in range(T)]direction = [(-1,0),(1,0),(0,-1),(0,1)]visited_normal = [[-1]*T for _ in range(T)]visited_abnormal = [[-1]*T for _ in range(T)]from collections import dequedef normal(graph,start,visited,p): visited[start[0]][start[1]]=p dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy ..
2024.11.19 -
문제 보기 : 11279번: 최대 힙 문제정답률 : 49%작성 코드import heapq, sysinput = sys.stdin.readlinek = int(input())h = []heapq.heapify(h)for _ in range(k): num = int(input()) if num == 0 and not h: print(0) elif num == 0 and h: heapq.heappush(h,-num) a = -heapq.heappop(h) print(a) else: heapq.heappush(h,-num)풀이입력량이 많기 때문에 sys로 데이터를 한번에 읽어올 수 있도록 처리했고,heapq는 최소값을 출력하는..
S2 11279. 최대 힙문제 보기 : 11279번: 최대 힙 문제정답률 : 49%작성 코드import heapq, sysinput = sys.stdin.readlinek = int(input())h = []heapq.heapify(h)for _ in range(k): num = int(input()) if num == 0 and not h: print(0) elif num == 0 and h: heapq.heappush(h,-num) a = -heapq.heappop(h) print(a) else: heapq.heappush(h,-num)풀이입력량이 많기 때문에 sys로 데이터를 한번에 읽어올 수 있도록 처리했고,heapq는 최소값을 출력하는..
2024.11.18 -
문제 보기 : 2447번: 별 찍기 - 10 문제정답률 : 55%작성 코드def star(n): if n == 3: return ["***","* *","***"] #아닌 경우, star 세트 만들어두기 stars = star(n//3) answer = [] #윗줄 for s in stars: answer.append(s*3) #중간줄 for s in stars: answer.append(s+' '*(n//3)+s) #아랫줄 for s in stars: answer.append(s*3) return answern = int(input())print('\n'.join(star(n))..
G5 2447. 별 찍기 - 10문제 보기 : 2447번: 별 찍기 - 10 문제정답률 : 55%작성 코드def star(n): if n == 3: return ["***","* *","***"] #아닌 경우, star 세트 만들어두기 stars = star(n//3) answer = [] #윗줄 for s in stars: answer.append(s*3) #중간줄 for s in stars: answer.append(s+' '*(n//3)+s) #아랫줄 for s in stars: answer.append(s*3) return answern = int(input())print('\n'.join(star(n))..
2024.11.17 -
문제 보기 : 18870번: 좌표 압축 문제정답률 : 39%작성 코드T = int(input())ls = list(map(int,input().split()))setls = list(set(ls))setls.sort()dicls = {setls[i]:i for i in range(len(setls))}# print(dicls)for i in ls: print(dicls[i], end=' ')풀이좌표 압축이라고 해서 주어지는 좌표들마다 규칙이 있어서 그 규칙을 찾아야하는줄 알았는데 그건 아니었고, 대소 비교를 기준으로 index를 출력하는 문제였다. 실버2이긴 한데.. 왜 실버2인지는 잘 모르겠는 문제..?
S2 18870. 좌표 압축문제 보기 : 18870번: 좌표 압축 문제정답률 : 39%작성 코드T = int(input())ls = list(map(int,input().split()))setls = list(set(ls))setls.sort()dicls = {setls[i]:i for i in range(len(setls))}# print(dicls)for i in ls: print(dicls[i], end=' ')풀이좌표 압축이라고 해서 주어지는 좌표들마다 규칙이 있어서 그 규칙을 찾아야하는줄 알았는데 그건 아니었고, 대소 비교를 기준으로 index를 출력하는 문제였다. 실버2이긴 한데.. 왜 실버2인지는 잘 모르겠는 문제..?
2024.11.16 -
문제 보기 : 2193번: 이친수 문제정답률 : 41%작성 코드T = int(input())before = {0:0,1:1}n = 1while n 풀이끝이 뭔지를 보는게 중요할 것 같다는 생각을 했다.그래서 길이가 1인 경우부터 5인 경우까지 확인하면서 갯수를 세고 규칙을 찾았다.길이가 1이면, 1 만 가능. 즉, key(끝 숫자)가 0,1인 딕셔너리로 나타내면 {0:0,1:1}길이가 2이면, 10 만 가능. 즉, {0:1,1:0}길이가 3이면, 100 / 101 가능. {0:1,1:1}길이가 4이면, 1000 / 1001 / 1010 가능. {0:2,1:1}길이가 5이면, 10000 / 10001 / 10010 / 10100 / 10101 가능. {0:3,1:2}다음턴 next = {0:0,1:0}에..
S3 2193. 이친수문제 보기 : 2193번: 이친수 문제정답률 : 41%작성 코드T = int(input())before = {0:0,1:1}n = 1while n 풀이끝이 뭔지를 보는게 중요할 것 같다는 생각을 했다.그래서 길이가 1인 경우부터 5인 경우까지 확인하면서 갯수를 세고 규칙을 찾았다.길이가 1이면, 1 만 가능. 즉, key(끝 숫자)가 0,1인 딕셔너리로 나타내면 {0:0,1:1}길이가 2이면, 10 만 가능. 즉, {0:1,1:0}길이가 3이면, 100 / 101 가능. {0:1,1:1}길이가 4이면, 1000 / 1001 / 1010 가능. {0:2,1:1}길이가 5이면, 10000 / 10001 / 10010 / 10100 / 10101 가능. {0:3,1:2}다음턴 next = {0:0,1:0}에..
2024.11.15 -
문제 보기 : 4948번: 베르트랑 공준 문제정답률 : 38%작성 코드n = 123456ls = [False,False]+[True]*(2*n-1)for i in range(2,2*n+1): if ls[i]: for j in range(2*i,2*n+1,i): ls[j]=Falsewhile True: n = int(input()) if n == 0: break count = 0 for j in ls[n+1:2*n+1]: if j: count+=1 print(count)풀이미리 에라토스테네스의 체를 max 크기로 만들어둔 다음 index로 분리한 뒤 True 값을 세서 출력한다.0을 입력하면 wh..
S2 4948. 베르트랑 공준문제 보기 : 4948번: 베르트랑 공준 문제정답률 : 38%작성 코드n = 123456ls = [False,False]+[True]*(2*n-1)for i in range(2,2*n+1): if ls[i]: for j in range(2*i,2*n+1,i): ls[j]=Falsewhile True: n = int(input()) if n == 0: break count = 0 for j in ls[n+1:2*n+1]: if j: count+=1 print(count)풀이미리 에라토스테네스의 체를 max 크기로 만들어둔 다음 index로 분리한 뒤 True 값을 세서 출력한다.0을 입력하면 wh..
2024.11.14 -
2024/11/13 [Today] Silver IV 백준 2차 :: 누적 34개 / (실버3) 1966. 프린터 큐[전체 코딩 테스트 문제 풀이 과정]• 프로그래머스 :: 누적 372개 / (Lv0) 236개 (Lv1) 73개 (Lv2) 53개 (Lv3) 10개 • 백준 1차 :: 누적 173개 / (브론즈1) 13개 (브론즈2) 23개 (브론즈3) 26개 (브론즈4) 9개 (브론즈5) 37개 (실버1) 5개 (실버2) 6개 (실버3) 10개 (실버4) 19개 (실버5) 18개 (골드1) 1개 (골드5) 1개 • 백준 2차 :: 누적 34개 / (골드5) 1개 (실버1) 7개 (실버2) 7개 (실버3) 15개 (실버4) 2개 (실버5) 2개 • SW expert academy:: 누적 15개 / D1 ..
[11월 코테 챌린지] 백준 2차 :: 누적 34개 / (실버3) 1966. 프린터 큐2024/11/13 [Today] Silver IV 백준 2차 :: 누적 34개 / (실버3) 1966. 프린터 큐[전체 코딩 테스트 문제 풀이 과정]• 프로그래머스 :: 누적 372개 / (Lv0) 236개 (Lv1) 73개 (Lv2) 53개 (Lv3) 10개 • 백준 1차 :: 누적 173개 / (브론즈1) 13개 (브론즈2) 23개 (브론즈3) 26개 (브론즈4) 9개 (브론즈5) 37개 (실버1) 5개 (실버2) 6개 (실버3) 10개 (실버4) 19개 (실버5) 18개 (골드1) 1개 (골드5) 1개 • 백준 2차 :: 누적 34개 / (골드5) 1개 (실버1) 7개 (실버2) 7개 (실버3) 15개 (실버4) 2개 (실버5) 2개 • SW expert academy:: 누적 15개 / D1 ..
2024.11.13 -
문제 보기 : 14888번: 연산자 끼워넣기 문제정답률 : 46%작성 코드n = int(input())ls = list(map(int,input().split()))sssd = list(map(int,input().split()))sd = sum(sssd)visited = [False]*sdarr = [1]*sssd[0]+[2]*sssd[1]+[3]*sssd[2]+[4]*sssd[3]maxc=-1000000000; minc=1000000000def permutations(arr): answer = [] used = [False]*(n-1) def back(new,used): if len(new)==len(arr): answer.append(new[:]) ..
S1 14888. 연산자 끼워넣기문제 보기 : 14888번: 연산자 끼워넣기 문제정답률 : 46%작성 코드n = int(input())ls = list(map(int,input().split()))sssd = list(map(int,input().split()))sd = sum(sssd)visited = [False]*sdarr = [1]*sssd[0]+[2]*sssd[1]+[3]*sssd[2]+[4]*sssd[3]maxc=-1000000000; minc=1000000000def permutations(arr): answer = [] used = [False]*(n-1) def back(new,used): if len(new)==len(arr): answer.append(new[:]) ..
2024.11.12