전체 글

전체 글

    [프로그래머스] 개인정보 수집 유효기간 - 파이썬

    2023 KAKAO BLIND RECRUITMENT - 150370. 개인정보 수집 유효기간 [Lv. 1] https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 딱히 설명할 부분은 없는 Lv. 1 문제. String Slicing과, 유효기간은 개인정보를 보관할 수 있는 달 수를 나타내는 정수이며, 1 이상 100 이하입니다. 라는 설명에 주의하며, month -= 12, year += 1 을 만족할 때까지 반복해줘야 함에만 신경써주면 될 것..

    [프로그래머스] 미로 탈출 명령어 - 파이썬

    2023 KAKAO BLIND RECRUITMENT - 150365. 미로 탈출 명령어 [Lv. 3] https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 우선, 'impossible'을 출력해야 하는 경우를 먼저 알아보자.. 간단하게 생각해 보면, 출발지에서 도착지까지 도달할 수 있는 최소 거리를 h라 했을 때, k = h+(0을 포함한 짝수) 여야 어떻게든 도달할 수 있다. 따라서, k보다 h가 작은 경우나, k = h + (홀수) 인 경..

    [프로그래머스] 표현 가능한 이진트리 - 파이썬

    2023 KAKAO BLIND RECRUITMENT - 150367. 표현 가능한 이진트리 [Lv. 3] https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 우선 예시를 한번 쭉 나열해 보며 감을 잡자. depth..? height..? 가 1일 때는, 0, 1만이 표현 가능하다. height = 2이면, 1, 3번째 숫자 중 1이 있다면 2번째 숫자는 무조건 1이여야 하므로, 111, 110, 011, 010, (000)의 4(5)가지의 ..

    [프로그래머스] 택배 배달과 수거하기 - 파이썬

    2023 KAKAO BLIND RECRUITMENT - 150369. 택배 배달과 수거하기 [Lv. 2] https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 읽고 나서의 초견은, Greedy하게 접근하면 되지 않을까? 였다. 제일 먼 곳에서부터 배달/수거를 cap만큼 꽉꽉 채워서 왔다갔다 하는 식으로.. 일단 구현해보자. 조금 유의하며 코드를 작성했던 부분은, deliveries나 pickups 배열에서 값이 존재하는(0이 아닌) 가..

    코딩 테스트를 위한 파이썬 문법(스킬) 총정리 - ver. 1.0.1 (230424)

    기본적으로 쉽게 알 수 있는 기본 연산자라던가, 다른 언어와 크게 다르지 않은 부분들은 모두 제외하고, 실제로 코드를 짧게 줄이거나, 더 편하게 문제를 풀 수 있는 스킬들만 모았습니다. 1. 기본 입출력 1-1. input() input() 은 입력받는 한 줄을 모두 문자열(str)로 취급하여 입력받음. 그래서 입력받은 후 캐스팅을 통해 원하는 타입으로 바꿀 필요가 있음. a = input()# 3 입력 b = int(input())# 3 입력 a => (str) 3 b => (int) 3 1-2. 여러 개 나누어 입력받기 1 2 3 a, b, c = map(int, input().split()) 이러면 a=1, b=2, c=3 으로 잘 담긴다. map(function, iterable) 에서 fucti..

    [백준] 1987. 알파벳 - python

    [Gold IV] https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 풀이 1 이건 그냥.. DFS, Backtracking 이용해서 Recursion으로 풀면 되겠다- 라고 간단하게 생각했다. 그런데 가볍게 짠 코드에서 TLE. import sys sys.setrecursionlimit(100000) R, C = map(int, input().split()) board = [list(input()) for _ in range(R)] res..

    [백준] 1647. 도시 분할 계획 - python

    [Gold IV] https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 풀이 문제를 딱 보고서 생각한 것 -> Minimum Spanning Tree구나. MST를 구현하고 나서, 남은 edge들 중 가장 value가 높은 것을 제거하면 될 것 같다. line 13의 = 를 ==로 오타내서 찾는데 시간 좀 씀...ㅎ 아무튼 clear. from collections import deque N, M = map(in..

    [백준] 12100. 2048 (Easy) - 파이썬

    [Gold II] https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 풀이 유명한 2048 게임을 구현하는 문제였다.. 일단 보드의 크기도 최대 1 0: row[j] = row[j-1] j -= 1 row[0] = 0 temp = 0 # 합쳐져서 한 칸 당겼다면 다시 그 index부터 검사 index += 1 else: temp = row[index] index -= 1 return board def up(board):..