Algorithm
![[python] 프로그래머스 Lv 1 - 둘 만의 암호](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F7cFYS%2FbtswbCOgf2F%2FAAAAAAAAAAAAAAAAAAAAAHn2sT2Mt9QrJHGklnaPvE_mWK9nBV3oY5iooH45KXMI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DxMTz%252BSksdgWQ%252BLLbi0zK5v%252BNBxQ%253D)
[python] 프로그래머스 Lv 1 - 둘 만의 암호
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 구현 💡풀이 이 문제는 s에서 skip에 포함된 문자를 제외하고 index만큼 이동하여 새로운 문자열을 생성하는 문제이다. 문제를 풀 때 참고해야 할 점은 z를 넘어갈 경우 a로 돌아가는 것이다. 예를 들어 s가 z이고 skip이 ['abcde']이고 index가 1일 경우 z는 a로 돌아가기 때문에 a를 건너뛰고 b를 건너뛰어야 한다. 💻 코드 def solution(s, skip, index): answer = '' s = [ord(i) - ord('a') for i in s] sk..
![[python] 프로그래머스 Lv1 - 카드 뭉치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FkFAmQ%2FbtswaubLJpy%2FAAAAAAAAAAAAAAAAAAAAACP2MKkaZaFNNF7ormXImFxzHPoA4Uzobq5SQ8_pvyM2%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DXCy4raCaAaBUBZGJn7vLCr2Syak%253D)
[python] 프로그래머스 Lv1 - 카드 뭉치
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 스택 완전탐색 💡풀이 이 문제는 cards1와 cards2를 사용하여 goal에 있는 문자 순서대로 매칭하는 문제이다. goal을 순회하면서 goal[i]와 각 카드의 첫 번째 요소와 일치한다면, 해당 값을 answer에 추가하고 제거한다. goal 리스트의 순서대로 카드를 뽑아오고, goal을 만족하는지 여부를 검사하여 결과를 반환한다. 💻 코드 def solution(cards1, cards2, goal): answer = [] for i in range(len(goal)): if ..
![[python] 프로그래머스 Lv 1 - 대충 만든 자판](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FrEMkJ%2FbtswcGCn9dJ%2FAAAAAAAAAAAAAAAAAAAAACXNM3lryp3hFDMe9Amcw62PQjbhYgbaPDYz2Uru8mUM%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DfqrW62D0iWp9WC4nCRteF3l4ztE%253D)
[python] 프로그래머스 Lv 1 - 대충 만든 자판
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 그리디 💡풀이 이 문제는 주어진 keymap을 기반으로 각 target 문자열을 입력하기 위해 최소 횟수를 계산하는 문제다. 접근 방식은 다음과 같다. 각 target 문자열의 문자를 순회한다. 문자를 keymap 에서 찾고, 해당 문자가 keymap 내에 존재하는 최소 index를 찾는다. 해당 문자를 찾을 수 없다면 -1을 저장하고 다음 문자열로 이동한다. 이러한 방식으로 각 target 문자열에 대해 최소 입력 횟수를 계산하고, 이를 answer 리스트에 저장한다. 💻 코드 def..
![[python] 프로그래머스 Lv 1 - 덧칠하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbRLxUv%2FbtsvYWtBndD%2FAAAAAAAAAAAAAAAAAAAAAL-yIvi8AuDewwuYS9fdbLJR9gdgrf_njkUftnjrUe1x%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DYokvLxIJg5zmtl7TT4ztI8mX1YE%253D)
[python] 프로그래머스 Lv 1 - 덧칠하기
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 그리디 구현 💡풀이 처음에 문제 예시를 보고 section의 차이 값을 구하고 m을 나누면 되겠다는 생각을 하고 제출했었는데 오답이었다. 8, 2, [2, 6] 를 반례로 볼 수 있다. 두 번째로 생각했던 방식은 n만큼 루프를 돌아 section에 i가 포함되어 있다면 answer에 1를 더해주고 i를 m만큼 더해주었다. - 롤러가 벽에서 벗어나면 안 됩니다. - 구역의 일부분만 포함되도록 칠하면 안 됩니다. 문제에 위와같은 설명이 있어 오답일거라 생각했지만 정답이었다. 😅 완벽한 가라..
![[python] 프로그래머스 Lv 1 - 바탕화면 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbN0OT8%2FbtsvPqHFog4%2FAAAAAAAAAAAAAAAAAAAAAGh7IwgiJPk6ugohxes_spkZbdKq1YNJnGzEHQ_I3Hgu%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DmK7lwF6rMTRFo8hF4bG30%252Fj97ZA%253D)
[python] 프로그래머스 Lv 1 - 바탕화면 정리
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 구현 💡풀이 wallpaper를 문자 단위로 순회하면서 '#' 문자를 찾을 때, 최소 x와 y 좌표 값과 최대 x와 y 좌표 값을 구하면 된다. 이 값들은 시작점과 끝점을 나타내므로 최대 x와 y 값을 찾을 때에는 각각에 1을 더해 반환한다. 💻 코드 def solution(wallpaper): ly, lx, ry, rx = 51, 51, -1, -1 for i in range(len(wallpaper)): for j in range(len(wallpaper[i])): if wallpa..
![[python] 프로그래머스 Lv1 - 공원 산책](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbglxM8%2FbtsvNsESa2w%2FAAAAAAAAAAAAAAAAAAAAANxkr0OOXSu_I_d7bVjYi8hRcflyAd5Jryu3CEvob_Kb%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DbZDS5%252FOt%252FYWOR0Ux7CzX8PguHLg%253D)
[python] 프로그래머스 Lv1 - 공원 산책
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📁 분류 자료구조 완전탐색 💡풀이 start point를 찾아서 route의 방향대로 장애물이 없고, len을 벗어나지 않는다면 이동시켜 최종 이동한 좌표를 구하는 문제이다. 문제는 매우 심플했는데 코드의 길이가 너무 길어서 다른 사람의 풀이를 보았더니 for-else문과 dictionary를 이용한 풀이도 있었다. 언어는 배우기 정말 쉬우나 그 언어답게 쓰는건 어려운 것 같다. 💻 코드 # 내 풀이 def get_start_point(park): for i in range(len(park)):..