[백준] 13913번 숨바꼭질 4 - 파이썬
·
백준/DFS&BFS
https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 풀이 숨바꼭질 문제 시리즈의 4편이다. 다른점이 있다면 거쳐온 경로를 출력해야한다는것이다. move 리스트를 만들어서 새로운 점으로 도달하기전에 거쳐온 점을 저장해서 for문으로 출력해준다. 대신 값은 시작점부터 출력해야하기에 reveres를 해주었다. # 13913 숨바꼭질 from collections import deque def bfs(): queue = ..
[백준] 1865번 웜홀 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 풀이 음수간선이 포함되었기에 벨만 포드 알고리즘을 사용한다. 만일 n번의 시도에서도 최단경로간 갱신된다면 음수간선이 존재한다. # 1865번 웜홀 import sys input = sys.stdin.readline INF = int(1e9) def bf(): distance = [INF] * (n+1) # 시작 노드에 대해서 초기화 distance[1] = 0 # 전체 n번의 라운드(..
[백준] 2563번 색종이 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 풀이 2차원배열로 구현한 도화지 위에 색칠을 해준 뒤 색이 칠해진 칸을 전부 다 더해주면 답이 나온다. # 2653번 색종이 n = int(input()) # 도화지 구현 graph = [[0]*101 for _ in range(101)] for _ in range(n): a, b = map(int, input().split()) for i in range(a, a+10): for j in range(b, ..
[Python] sort( ), sorted( )에 대해서
·
Dev Lang/Python
1, sort( ) 기본형 : 반복가능한객체.sort( ) 원본을 변형시켜 정렬한다. 변수.sort( ) 형태로 사용 기본값은 오름차순이다.(reverse = False) reverse = True는 내림차순을 뜻한다. >>> arr = [3, 2, 5, 10] >>> arr.sort() >>> arr [2, 3, 5, 10] >>> arr.sort(reverse = True) >>> arr [10, 5, 3, 2] 2, sorted( ) 반복가능한객체 = sorted(반복가능한 객체) 원본을 변형시키지않고 정렬된 결과를 반환한다. 괄호 안에 반복가능한 자료형을 입력하여 사용. 기본값은 오름차순이다.(reverse = True) reverse = True는 내림차순을 뜻한다. >>> arr = [3, 2..
[백준][Python] 1931번 회의실 배정 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 풀이 sort에 관련된 블로그 글 참고 # 1931번 회의실 배정 # 1, 가장 빨리 끝나는 강의 우선으로 정렬 2, 가장빨리 시작하는 강의로 정렬 import sys input = sys.stdin.readline n = int(input()) arr = [] for _ in range(n): a, b = map(int, input().split()) arr.append((a, b)) arr.sort(key = lambda x:(x[1],x[0])) cnt = 0 end = 0 for s, t in arr: i..
[자바스크립트] 04. 함수와 이벤트
·
Dev Lang/JavaScript
자바스크립트의 함수는 아무곳이나 선언해줘도 된다. 자바스크립트는 소스를 해석할 때 함수 선언 부분을 우선시해서 해석하기 때문이다. 파이썬처럼 위에서 아래로 내려가는 방식으로 읽지않기에 가능한 방법이다. 자바스크립트의 함수는 function( )이다. 기존에 배웠던 var가 달리 let과 constant를 새로 배울 수 있었다. 로컬변수와 전역변수 개념은 다른언어에서도 통상적으로 사용되기에 이해가 어렵지않았다. var의 호이스팅 var 사용 시 조심해야하는 개념이다. 호이스팅은 끌어올리다라는 뜻을 가졌는데 이는 코드 실행시에 자바스크립트가 var선언을 가장 먼저 받아들이기 때문이다. 이로인해 var 선언만 먼저 끌어올려진 상태로 값이 할당되지 않은 채로 var이 읽혀진다면 이는 오류로 이어질 수 있다. v..
[백준][Python] 1037번 약수 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 진짜약수로 주어진 숫자의 가장 작은 숫자와 가장 큰 숫자를 곱해준다면 구하고자하는 답이 나올것이다.가장 큰수와 2를 곱해주면 안된다. 21같은 숫자는 진짜 약수가 3, 7인데 2를 14가 구하고자하는 답이 아니기 때문이다. # 1037번 약수 import sys input = sys.stdin.readline _ = input().rstrip() arr = list(map(int, i..
[백준] 2980번 도로와 신호등 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2980 2980번: 도로와 신호등 상근이는 트럭을 가지고 긴 일직선 도로를 운전하고 있다. 도로에는 신호등이 설치되어 있다. 상근이는 각 신호등에 대해서 빨간 불이 지속되는 시간과 초록 불이 지속되는 시간을 미리 구해왔 www.acmicpc.net 풀이 단순하게 구현만 해주면 되는 문제이다. 문제의 답은 걸리는 시간이다. 도로의 위치를 저장할 변수와 시간을 저장할 변수를 나누어서 생각해주어야한다. # 2980번 도로와 신호등 import sys input = sys.stdin.readline cur_dis = 0 ans = 0 n, l = map(int, input().split()) for _ in range(n): d, r, g = map(i..
개발자 성현
개발새발 블로그