[Coding Test]
[백준] 9663 파이썬(python) : N-Queen - (★)
9663번 : N-Queen 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백트래킹을 이용하여 푸는 대표적인 문제 N-Queen이다. 퀸은 상하좌우, 대각선으로 움직일 수 있다는것을 알아야한다. 일반적으로 퀸이 움직이는 곳은 체스판위이기 때문에 2차원 그래프를 생성해줘야 하는 줄 알았지만 1차원 리스트의 인덱스와 리스트 값을 이용해서 퀸의 위치를 지정하는 방법이 있었다. import sys n = int(sys.stdin.readline()) res = 0 row = [0]*n #1 def is_promising(x): #..
[백준] 14889 파이썬(python) : 스타트와 링크 - (★)
14889번 : 스타트와 링크 백트래킹을 이용한 풀이)import sysn = int(sys.stdin.readline())graph = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ]visit = [ False for _ in range(n) ] #1min_value = sys.maxsize #2def backTracking(depth, idx): #3 global min_value if depth == n // 2: #4 power1, power2 = 0, 0 for i in range(n): for j in range(n): if visit[i]..
[백준] 2346 파이썬(python) : 풍선 터뜨리기 - (★)
처음 제출한 틀린 코드)import sys from collections import deque n = int(sys.stdin.readline()) ballon, number = deque(list(map(int, sys.stdin.readline().split()))), list(range(1, n+1)) res = [] while True: num = ballon.popleft() res.append(number.pop(0)) if len(number) == 0: break if num > 0: for _ in range(num-1): ballon.append(ballon.popleft()) number.append(number.pop(0)) else: for _ in range(abs(num)):..
[백준] 3190 파이썬(python) : 뱀 - (★)
3190번: 뱀 시뮬레이션 문제는 어렵다. 조건들을 구현하는것이 상당히 까다롭다. import sys from collections import deque n = int(sys.stdin.readline()) k = int(sys.stdin.readline()) graph = [ [0]*(n) for _ in range(n) ] dx = [ 0, 1, 0, -1 ] #1 dy = [ 1, 0, -1, 0 ] for _ in range(k): a, b = map(int, sys.stdin.readline().split()) graph[a-1][b-1] = 2 #2 l = int(sys.stdin.readline()) step = {} q = deque() q.append((0, 0)) #3 for _ in..
[백준] 11652 파이썬(python) : 카드
11652번 : 카드 import sys n = int(sys.stdin.readline()) hash = {} #1 for i in range(n): num = int(sys.stdin.readline()) if num not in hash: #2 hash[num] = 1 else: #3 hash[num] += 1 res = [] for key, value in hash.items(): #4 res.append((key, value)) res.sort(key=lambda x : (-x[1], x[0])) #5 print(res[0][0]) #6 #1 : 해시 생성 #2 : 입력된 값이 해시에 없을때 key를 생성하고 value를 1로 지정 #3 : 값이 해시에 존재하면 value +1 #4 : 해시의 ..
[백준] 13335 파이썬(python) : 트럭 - (★)
https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net import sys n, w, l = map(int, sys.stdin.readline().split()) truck = list(map(int, sys.stdin.readline().split())) time, bridge = 0, [0]*w #1 while bridge: #2 time += 1 #3 bridge.pop(0) #4 if truck:..