https://www.acmicpc.net/problem/17396import sysimport heapqinput = sys.stdin.readlinelooks = []INF = sys.maxsizen, m = map(int, input().split())looks = list(map(int, input().split()))graph = [[] for _ in range(n+1)]distance = [INF] * (n+1)looks[n-1] = 0for i in range(m): a, b, t = map(int, input().split()) graph[a].append((b, t)) graph[b].append((a, t)) def dijk(start): q = [] ..
코테
https://www.acmicpc.net/problem/2665 다익스트라 이용문제에서는 흰색(지나갈 수 있는 곳)을 1, 검은색을 0으로 해줬는데 입력받은 뒤 이를 완전히 뒤집고 다익스트라 알고리즘을 통해 (N,N)으로 갈 수 있는 최단거리를 구해주면 끝import sysimport heapqinput = sys.stdin.readlineINF = int(1e9)rooms = []n = int(input())distance = [[INF] * n for _ in range(n)]dx = [1, -1, 0, 0]dy = [0, 0, 1, -1]for i in range(n): strarr = input().strip() room = [(int(ch) ^ 1) for ch in strarr] ..
https://www.acmicpc.net/problem/11057n = int(input())dp = [[0] * (10) for _ in range(n+1)]dp[1][0] = 1for i in range(1, 10): dp[1][i] = 1 + dp[1][i-1]if n > 1: for i in range(2, n+1): for j in range(10): if j == 0: dp[i][j] = dp[i-1][9] else: dp[i][j] = dp[i-1][9] - dp[i-1][j-1] + dp[i][j-1]print(dp[n][9] % 10007)풀이문제 분석오르막 수는 자릿수가..
https://www.acmicpc.net/problem/1890 처음 시간초과 코드- dfsn = int(input())board = []memo = [[0] * n for _ in range(n)]dx = [0, 1]dy = [1, 0]memo[0][0] = 1for i in range(n): board.append(list(map(int, input().split())))def move(dir, loc, memo): x, y = loc if x == n-1 and y == n-1: memo[n-1][n-1] += 1 return distance = board[x][y] nx = x + dx[dir] * distance ny = ..
https://nohack.tistory.com/137 자바스크립트로 코딩 테스트 준비하기 코딩 테스트 준비하기 이번 글은 나중에 코딩 테스트를 비롯한 문제 해결이 필요할 때 참고하려고 간단하게 작성했습니다. 개인적으로 정리한 글이지만, 프론트엔드 개발자에 지원하는 분들께 nohack.tistory.com 배열 합 const arr = [1, 2, 3]; const result = arr.reduce((sum, currValue) => { return sum + currValue; }, 0); 깊은복사 let deepArr = JSON.parse(JSON.stringify(arr1)); 배열 초기화 let N = 3; // 행의 개수 let M = 4; // 열의 개수 let array = Array.f..
수학자로 유명한 유클리드(Euclid)는 최대공약수에 다음과 같은 성질이 있다는 것을 발견하였다. - a와 b의 최대공약수는 'b'와 'a를 b로 나눈 나머지'의 최대공약수와 같다. 즉, gcd(a, b) = gcd(b, a % b) - 어떤 수와 0의 최대공약수는 자기 자신이다. 즉, gcd(n, 0) = n def gcd(a, b): if b == 0: # 종료 조건 return a return gcd(b, a % b) print(gcd(1, 5)) # 1 print(gcd(3, 6)) # 3 print(gcd(69, 24)) # 3 print(gcd(81, 27)) # 27

https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 2번의 "틀렸습니다" 결과를 보고 질문 게시판을 보면서 반례들을 시도 해보면서 풀려고 했는데 결국 못풀어서 다른 사람의 풀이를 참조했다. 오답2의 코드는 cctv 감시영역을 확장할 때 매번 가장 많이 확장한 방향을 선택해서 확장해 나간다. 계속 틀려서 반례를 찾아봤다. 질문 게시판의 대부분의 반례를 통과해서 답답하던 중 통과되지 않는 반례를 찾았다. 이 반례를 통해 dfs + 완전 탐색..
https://www.acmicpc.net/problem/22234 22234번: 가희와 은행 가희는 창구가 하나인 은행을 운영하고 있습니다. 가희의 은행이 영업을 시작했을 때, 대기 줄에는 손님이 N명 있습니다. [그림 1] 카운터 직원과 N명의 손님 x번 손님에 대한 정보는 x번 손님의 www.acmicpc.net 틀린코드 - 런타임에러 원인을 모르겠음 import sys from collections import deque from queue import PriorityQueue input = sys.stdin.readline print = sys.stdout.write N, T, W = map(int, input().split()) p, t = map(int, input().split()) pq ..