HISTORY🔥

    [프로그래머스 > Lv2] 리코챗 로봇

    [프로그래머스 > Lv2] 리코챗 로봇

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 [입력] 게임판의 상태를 나타내는 문자열 배열 board . : 빈공간 D : 장애물 R : 로봇의 처음 위치 G : 목표 지점 [결과] 말이 목표위치에 도달하는데 최소 몇 번 이동해야 하는지 return 2. 풀이 🌹 BFS를 이용하면 풀 수 있는 문제입니다. :-) 먼저 탐색의 시작점과 target 지점을 찾아두어야 합니다. startX, startY = 0, 0 targetX, targetY = 0, 0 width, height = len(board[0]), len(board) for x in..

    [프로그래머스 > Lv4] 지형이동

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 현재 칸과 이동하려는 칸의 높이 차가 height 이하여야 합니다. 높이 차가 height보다 많이 나는 경우에는 사다리를 설치하는데 두 격자 칸의 높이 차만큼 비용이 듭니다. 따라서 최대한 적은 비용이 들도록 사다리를 설치해서 모든 칸으로 이동 가능하도록 해야 합니다. [입력] 각 격자칸의 높이가 담긴 2차원 배열 land 이동 가능한 최대 높이차 height [결과] 모든 칸을 방문하기 위해 필요한 사다리 설치 비용의 최솟값을 return 2. 풀이 🌹 DFS를 이용해 풀 수 있는 문제입니다. ..

    [프로그래머스 > Lv4] 가사 검색

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 [입력] 가사에 사용된 모든 단어들이 담긴 배열 words 찾고자 하는 키워드가 담긴 배열 queries [결과] 각 키워드별로 매치된 단어가 몇 개인지 순서대로 배열에 담아 return 2. 풀이 처음은 완전 탐색 방식으로 간단하게 구현하였으나, 효율성 2번에서 계속 시간초과가 발생하였습니다. 😭 결국 알고리즘으로 풀어보기로 결정해서, 사용한 알고리즘은 바로 Trie입니다. 🤗 2.1 Trie Class Trie에는 2가지 메서드를 정의해였습니다. 단어 추가 query와 일치하는 단어 개수 탐색 ..

    [프로그래머스 > Lv4] 행렬과 연산

    [프로그래머스 > Lv4] 행렬과 연산

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 행렬에 적용할 수 있는 두 가지 연산 ShiftRow Rotate [입력] 행렬의 초기 상태를 담고 있는 2차원 정수 배열 rc 시행할 연산을 순서대로 담고 있는 문자열 배열 operations [결과] 연산을 차례대로 시행한 후의 행렬 상태를 return 2. 풀이 🌹 Deque 자료구조를 사용하면 쉽게 풀 수 있는 문제입니다. 이 문제에서 준비해야 하는 Deque는 3가지입니다. 왼쪽 세로 오른쪽 세로 가운데 그럼 하나씩 코드로 구현해보도록 하겠습니다. 2.1 📌 leftCol과 rightCol..