전체 글

전체 글

    [백준13549&파이썬] BFS에서 큐에 넣을때 때때로 순서도 중요하다.

    # 문제 백준 13549 숨바꼭질3 파이썬 풀이 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net # 코드 ''' - 수빈이가 동생을 찾을 수 있는 가장 빠른 시간을 구해라 - BFS로 최단시간 탐색을 수행하자. - 각 초마다의 위치가 나오기 때문에, 무조건 찾는다는 조건이 내재되어 있어 보이기 때문에 가능할듯 보인다. ''' import sys from collections import deque from collections import defaultdict # N = 수빈이..

    [백준2638&파이썬] BFS에 구현과 시뮬레이션이 섞인 문제

    # 문제 백준 2638 치즈 파이썬 풀이 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net # 코드 import sys from collections import deque def show2D(arr): for i in range(len(arr)): print(*board[i]) N, M = map(int, sys.stdin.readline().split()) board = list() dirs = [ (-1, 0), (0, 1), (1, 0), (0, -1) ] candidaties = list(..

    [취준일기#1] 프로그래머스 2023 Summer Coding 스타트업 인턴십

    [취준일기#1] 프로그래머스 2023 Summer Coding 스타트업 인턴십

    # 정보 프로그래머스 2023 썸머 코딩 스타트업 인턴십 # 진행 단계 코딩테스트 / 알고리즘( 2솔 / 3 ) SQL ( 0/ 1 ) -> 불합 # 내용 서류 전형 전달전 모든 지원대상들에게 먼저 코딩테스트를 보게 한 후, 합격자들을 선정하여 서류를 회사에 전달하는 방식이다. 서서히 취준을 해야하는 시기가 왔고, 인턴을 하고 싶은 회사도 딱히 없었다. 알고리즘 공부를 시작했기 때문에 백준말고 실제 코딩테스트에 대한 경험이 필요하다고 생각해서 지원했다. 코딩테스트의 전반적인 난이도는 쉬웠다. 그러나 SQL을 준비하지 않았기에 문제를 풀 생각조자 안했다. 쉬운만큼 커트도 높은걸로 예상된다. 아마 3솔 이상이 합격하지 않을까 싶다. # 후기 쉽게 나왔음에도 불구하고 알고리즘 3번문제를 풀지 못했다. 특히 그..

    [백준1932&파이썬] DP를 이용할때 확정지을 노드를 선택하는 기준과 근거가 필요하다.

    [백준1932&파이썬] DP를 이용할때 확정지을 노드를 선택하는 기준과 근거가 필요하다.

    # 문제 백준 1932 정수 삼각형 파이썬 풀이 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net # 코드 import sys n = int(sys.stdin.readline().strip()) arr = list() for _ in range(n) : line = list(map(int,sys.stdin.readline().split())) arr.append(line) for row in range(1,n): for col in range(len(arr[row])) : if col == 0 : # 시작점이면 arr[row][col] += arr[row-1][col] continu..

    [백준9465&파이썬] DP를 풀때는 N이 1일때부터 하나씩 늘려가며 경우의 수를 따져보자.

    [백준9465&파이썬] DP를 풀때는 N이 1일때부터 하나씩 늘려가며 경우의 수를 따져보자.

    # 문제 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net # 코드 import sys def solve() : n = int(sys.stdin.readline().strip()) stickers = list() for row in range(2): line = list(map(int, sys.stdin.readline().split())) stickers.append(line) # 현재 시점에서 대각선으로 한칸전과 두칸전 중 max값이 그 스티커의 최대값 for i in range(1,n) : if..