IMPLEMENT

    [백준] 21608. 상어 초등학교 - Python

    [Gold V] https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 풀이 3

    [백준] 16236. 아기 상어 - Python

    [Gold III] https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 풀이 우선 그래프 내에서 가장 가까운 칸을 찾기 때문에, BFS로 풀어야 하는 것은 바로 생각이 났고, N 가장 왼쪽 순으로 나열. return list(sorted(prey, key=lambda x: (x[0], x[1], x[2]))) second = 0 size = 2 eat = 0 while True: r, c = shark M[r][c] = size prey =..

    [백준] 14890. 경사로 - 파이썬

    [Gold III] https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 골드 3짜리 빡구현 문제.. 한 줄(행/열) 마다 돌려가며 check. 모든 칸에 대해 돌려봐도 100x100 = 10,000 이므로, Brute-Force로 접근 가능. 한 줄의 모든 칸에 대해, 다음 칸과 1 이상 차이나면 break처리. 다음 칸과 숫자가 동일하면 패스. 다음 칸보다 더 작다면, 그 이전 L개의 칸이 동일한 지 확인. 다음 칸보다 더 크다면, 그 이후 L개의 칸이 동일한 지..

    [백준] 1360. 되돌리기 - 파이썬

    [Gold V] https://www.acmicpc.net/problem/1360 1360번: 되돌리기 첫째 줄에 명령의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 명령과 수행한 시간이 주어진다. 항상 시간이 오름차순으로 주어지고, type c에서 c는 알파벳 소문자, undo t에서 t는 1보다 크거나 같 www.acmicpc.net 풀이 N < 50 이라는 조건에 집중할 필요가 있다. undo t 에서 1 < t < 10^9 이지만, N < 50 이므로, 특별한 알고리즘을 사용하지 않고, 바로 구현할 수 있는 빡구현 문제라는 것을 알 수 있다..! Dictionary (Hash Table) 형태에 입력 시간을 key값으로 하여 모든 정보를 저장하고, 입력 시간 역순으로 작업을 수행, undo 할 ..

    [프로그래머스] 양궁대회 - 파이썬

    2022 KAKAO BLIND RECRUITMENT - 92342. 양궁대회 [Lv. 2] https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음 보았을 때는, Greedy하게 접근해야 할 지, DP로 접근해야 할 지.. 고민이였으나, 정확성 테스트로 제한 시간이 10초, 성능 테스트가 없었으며, 배열의 길이도 11이므로 2^11 = 2048가지 정도의 경우의 수를 다 따져보아도, TLE가 나지 않을 것이라 생각. 따라서, Brute-For..

    [프로그래머스] 주차 요금 계산 - 파이썬

    2022 KAKAO BLIND RECRUITMENT - 92341. 주차 요금 계산 [Lv. 2] https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 조건에 맞게 구현만 해주면 되는, 간단한 문제! import math def solution(fees, records): P = dict() R = dict() for record in records: time, num, state = record.split() if state == "IN": ..

    [백준] 16173. 점프왕 쩰리 (Small) - 파이썬

    [Silver IV] https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 풀이 N = int(input()) q = [] board = [] for _ in range(N): board.append(list(map(int, input().split()))) q.append([0, 0]) while q: row, col = q.pop() a = board[row][col] if a == -1: print("HaruHaru") exit() if a == ..