본문 바로가기

문제 풀이/프로그래머스 (Programmers)51

[Python] 프로그래머스 : 기둥과 보 설치 https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 구현 문제이다. 제거하거나 삭제했을 때 정상적으로 잘 연결되어 있는지 확인하면 된다. 주어진 조건만 잘 맞추면 된다. ✔️ 느낀 점 시간이 충분히 주어졌고, 입력은 1000을 안 넘어서 시간이 충분한데 너무 어렵게 구현하려다가 시간을 많이 잡아먹었다. 충분히 쉽게 풀 수 있었는데 아직 테크닉이 많이 부족한 것 같다. 💻 코드 def check(answer): for x, y, a i.. 2023. 2. 19.
[Python] 프로그래머스 : 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 가벼운 BFS 문제이다. 최단거리를 따져야 하므로 생각할 것이 많다. 나는 이동할 수 있는 위치에 이동했을 때 최솟값을 넣어주는 방식으로 구현했다. 그리고 상대의 위치는 항상 끝에 있으므로 따로 계산안하고 넘겨주었다. ✔️ 느낀 점 오랜만에 시작한 알고리즘이라서 파이썬 문법에 익숙하지 못하다는게 느껴졌다. 문법에 대한 기억을 되살리는 것이 좋아보이고 새로운 것을 공부하기보단 공부한 것.. 2023. 1. 29.
[Python] 프로그래머스 : 호텔 방 배정 https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 ✔️ 느낀 점 💻 코드 import sys sys.setrecursionlimit(10000000) def find(x, rooms): if x not in rooms: rooms[x] = x+1 return x rooms[x] = find(rooms[x], rooms) return rooms[x] def solution(k, room_number): ans = [] rooms = .. 2022. 10. 19.
[Python] 프로그래머스 : 기지국 설치 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 DP 관련 문제이다. 기지국의 최대 전파 범위는 도달 거리의 × 2 + 1 만큼이다. 기지국을 기준으로 좌우로 범위가 나뉘는데 시작 지점부터 기지국 왼쪽 도달 범위까지 거리에서 최대 전파 범위를 나눠서 올림 처리해주면 필요한 최소 개수를 셀 수 있다. 이 방법은 단순히 최소 개수만 구해주면되기 때문에 가능하다. ✔️ 느낀 점 이런 류의 문제가 너무나도 약해서 다른 문제들도 많이 풀어.. 2022. 10. 9.
[Python] 프로그래머스 : [3차] 압축 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 일반적인 구현 문제이다. 문제를 두 파트로 나누어 풀었다. dict에 있으면 정답에 append 하는 파트, dict에 없으면 dict에 append 하는 파트' 정답에 append 하는 파트에서는 현재 dict에 있는 최대 길이부터 문자열을 확인하고 해당 문자열이 있으면 정답 리스트에 담아준다. dict에 append 하는 파트에서는 리스트에 담아준 문자열을 가져와서 다음 문자열을.. 2022. 10. 6.
[Python] 프로그래머스 : [1차] 셔틀 버스 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 구현 문제이다. 조심해서 구현만 할 수 있으면 된다. 시간에 대한 처리를 위해서 "hour : minute"으로 나오는 시간을 분으로 바꿔주는 함수를 만들어 사용한다. 중요한 핵심은 다음과 같다. 마지막 버스에 탄 인원이 m명과 같다면 마지막에 온 사람보다 1분 빨리 오면 되고, 마지막 버스에 탄 인원이 m명과 다르다면 그냥 버스 막차시간에 맞춰서 오면 된다. 내 코드의 경우는 처음.. 2022. 10. 3.