목록2024/11 (27)
또 뭐하지
보호되어 있는 글입니다.
■ 처음에 시간초과 떴던 코드N = int(input())L= [(i+1) for i in range(N)]while len(L)>1: L.pop(0) L.append(L.pop(0))print(L[0]) ■ 제출코드위에 코드를 이용해서 한 50까지 출력해놓고 패턴을 찾아서 코드를 작성했다. N보다 작은 2의 제곱수 중 가장 큰 값을 k라고 했을 때, (N - k) * 2 가 답이다.N = int(input())s = 1while True: if (N == 1 or N == 2) : print(N) break s *= 2 if N ■ 다른 풀이다름 사람들을 살펴보니 deque를 활용해서 첫 번째 제출했던 코드를 구현해서 제출했다...
N = int(input())A = set(list(map(int, input().split())))M = int(input())m = list(map(int, input().split()))for i in m: if i in A: print(1) else: print(0)
진짜.. 오래걸렸다.숫자로 변환해서 푸는 문제도 고민해봤는데 실패하고, 하나하나 비교하는 코드를 짜자니 막막했다.문제에서 '이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다'라는 부분을 힌트 삼아서 풀었다. 먼저 가능한 두 가지 경우의 2차원 배열을 미리 저장해두고,입력받은 문자열을 2차원 배열로 받아와서,8*8 크기로 잘라가면서 위의 가능한 두 가지 경우에 대해서 비교를 하였다.각 경우별로 다른 원소의 개수를 세어 result 배열에 저장해둔 후 제일 작은 값을 출력하는 방식으로 답을 얻었다. N, M = map(int, input().split())board = []case1 = [['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W'], ['W', 'B', 'W', 'B', ..
N = int(input())L = []for _ in range(N): l = list(map(int,input().split())) L.append(l)L.sort()for i in L: print(i[0],i[1])
N = int(input())L = []for _ in range(N): x, y = input().split() L.append([int(x),y]) L.sort(key = lambda x:x[0]) for i in range(N): print(L[i][0], L[i][1])sort 함수에 기준을 적용할 수 있단 걸 새롭게 알았다!
N = int(input())L = []for _ in range(N): x, y = map(int, input().split()) L.append([x,y]) ret = [1]*Nfor i in range(N): for j in range(i+1,N): if L[i][0] L[j][0] and L[i][1] > L[j][1] : ret[j]+=1 else: continuefor k in ret: print(k,end=' ')
import sysN = int(sys.stdin.readline())L = []for _ in range(N): L.append(int(sys.stdin.readline())) L.sort()for i in L: print(i)처음에 그냥 input()으로 받았더니 시간 초과가 떠서 sys.stdin.readline()으로 바꿔주었다. 찾아보니 1,000,000개 입력값을 받으면 입력시간이 너무 오래걸려서 시간 초과가 날거라고 적혀있었다.