본문 바로가기

코딩테스트43

[Programmers][Python] 햄버거 만들기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 스택 리스트를 작성하여 푸는 풀이이다. 스택 리스트에 재료를 하나씩 넣어준다. 만약 끝단에서 부터 4개의 숫자가 1231의 패턴을 나타내면 햄버거 숫자를 나타내는 변수에 1을 더하고 4개의 재료들을 del 함수를 이용해 삭제한다. def solution(ingredient): ing_stk = [] n_hambuger = 0 for i in ingredient: i.. 2023. 3. 27.
[Programmers][Python] 공원 산책 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 시작점을 찾고 그 위치를 기준으로 루트마다 조건을 만족하는지 체크하는 방식이다. 리스트 park의 길이를 통해 높이와 너비를 알아낸고 각 방향의 백터 딕셔너리를 선언한다. 이중 루프문을 통해 리스트 park에서 문자 S가 있는 위치를 찾고 cur_pos에 갱신한다. 루트마다 방향과 거리를 가져오고, new_pos에 갱신된 위치를 기록한다. new_pos이 공원을 벗.. 2023. 3. 27.
[Programmers][Python] 당구 연습 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/169198 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 4가지 벽에 대해 원 쿠션을 시행하는 경우 제일 최솟값을 반환하는 알고리즘을 작성했다. 원 쿠션을 하기 전에 공끼리 먼저 만나면 안 되므로 x나 y 좌표가 같은 경우는 특정 벽에 원 쿠션하는 경우가 불가능하고, 비교군에서 제외해야 한다. 두 공의 x와 y 좌표 모두 같지 않은 경우 좌, 우에 있는 벽에 공이 쿠션을 할 경우 벽에 대해 선대칭을 하므로 다음과 같은 값.. 2023. 3. 23.
[Programmers][Python] 둘만의 암호 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 제외한 문자를 건너뛰고 문자를 뒤로 밀기 위해 index 함수를 이용하였다. 알파벳 리스트를 생성해 준다. 물론 이러한 상수는 저런 코드로 생성하고 코드에 올리는 게 더 좋다. 알파벳 리스트에서 skip에 해당되는 알파벳들을 제외해준다. 암호문의 각 문자들을 가져와 alp_lst에 해당되는 index를 찾고 주어진 값만큼 뒤로 밀어낸다. index 값을 가져와 주어.. 2023. 3. 22.
[Programmers][Python] 덧칠하기 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 작성한 코드 일정 구간을 한 번에 칠하는 것을 이용하여 몇 번째 벽까지 칠해져 있는지 체크하는 알고리즘으로 작성하였다. 처음벽부터 어디까지 색이 칠해져있는지 기록하는 변수 n_painted와 칠할 횟수의 변수 answer를 초기화시킨다. 각 section의 번호가 n_painted보다 값이 같거나 작으면 이미 페인트가 칠해져 있고, 반대의 경우에는 칠해져 있지 않다는 의미이므로.. 2023. 3. 21.
[Programmers][Python] 옹알이 (2) 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옹알이 (1) (https://school.programmers.co.kr/learn/courses/30/lessons/120956)에서 조건이 변형된 문제이다. 처음 작성한 코드 단어 리스트에서 하나씩 단어를 가져와 조건에 부합하는지 체크하는 풀이이다. 4가지 옹알이에 대해 하나씩 체크를 하는데, 연속으로 발생하는 옹알이는 제외해야 하므로 옹알이가 두 번 붙여져 있는 문자열이 단어.. 2023. 3. 13.