본문 바로가기

프로그래머스7

[programmers] 리코쳇 로봇 📝 [Lv2] 리코쳇 로봇 👀 문제 설명 리코쳇 로봇이라는 보드게임이 있습니다. 이 보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로, 시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하, 좌, 우 4방향 중 하나를 선택해서 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 칩니다. 다음은 보드게임판을 나타낸 예시입니다. ...D..R .D.G... ....D.D D....D. ..D.... 여기서 "."은 빈 공간을, "R"은 로봇의 처음 위치를, "D"는 장애물의 위치를, "G"는 목표지점을 나타냅니다. 위 예시에서는 "R" 위치에서 아래, 왼쪽, 위, 왼쪽, 아래, 오른쪽, 위 순서로 움직.. 2023. 3. 18.
[programmers] 저주의 숫자 3, 외계어 사전, 안전지대, 컨트롤 제트, 배열 원소의 길이 📝 [Lv0] 저주의 숫자 3 👀 문제 설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. 🚨 제한 사항 1 ≤ n ≤ 100 💻 입출력 예 n result 15 25 40 76 ✨ 풀이 설명 마을 이름이 귀엽다 뭔가 수학적인 풀이 방법이 있을까 고민하다가 생각이 안 나, 그냥 반복문으로 풀었다. 문제에서 설명한 대로, 값에 3이 포.. 2023. 3. 12.
[programmers] 이진수 더하기, 치킨 쿠폰, 로그인 성공?, 등수 매기기, 특이한 정렬 📝 [Lv0] 이진수 더하기 👀 문제 설명 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. 🚨 제한 사항 return 값은 이진수를 의미하는 문자열입니다. 1 ≤ bin1, bin2의 길이 ≤ 10 bin1과 bin2는 0과 1로만 이루어져 있습니다. bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다. 💻 입출력 예 bin1 bin2 result "10" "11" "101" "1001" "1111" "11000" ✨ 풀이 설명 각 2진수를 parseInt()를 사용해 10진수로 변환한 다음, 두 수의 합을 다시 2진수로 변환해 주었다. parseInt()은 문자열 인자를 파싱하여 특정 진.. 2023. 3. 11.
[programmers] 가까운 수, 삼각형의 완성조건 (1), 중복된 문자 제거, k의 개수, A로 B 만들기 📝 [Lv0] 가까운 수 👀 문제 설명 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 🚨 제한 사항 1 ≤ array의 길이 ≤ 100 1 ≤ array의 원소 ≤ 100 1 ≤ n ≤ 100 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다. 💻 입출력 예 array n result [3, 10, 28] 20 28 [10, 11, 12] 13 12 ✨ 풀이 설명 기본값을 큰 수인 10e9로 초기화해주었다. 가까운 수가 여러 개일 경우, 더 작은 수를 반환하라는 조건이 있었기 때문에, 첫 번째 조건문으로 같다면 두 비교하는 수 중, 작은 수를 반환해 주었다. 그리고 .. 2023. 3. 10.
[programmers] 배열의 유사도, 문자열 계산하기, 편지, 약수 구하기, 한 번만 등장한 문자 📝 [Lv0] 배열의 유사도 👀 문제 설명 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요. 🚨 제한 사항 1 ≤ s1, s2의 길이 ≤ 100 1 ≤ s1, s2의 원소의 길이 ≤ 10 s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다 s1과 s2는 각각 중복된 원소를 갖지 않습니다. 💻 입출력 예 ["a", "b", "c"] ["com", "b", "d", "p", "c"] 2 ["n", "omg"] ["m", "dot"] 0 ✨ 풀이 설명 우선 같은 단어의 개수를 구하라는 말에 Set()이 떠올랐다. 그래서 두 배열을 합쳐 새로운 배열을 생성했고, 이 배열의 길이와 배열을 Set으로.. 2023. 3. 6.
[programmers] 잘라서 배열로 저장하기, 7의 개수, 문자열 정렬하기(2), 세균 증식, 제곱수 판별하기 📝 [Lv0] 잘라서 배열로 저장하기 👀 문제 설명 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return 하도록 solution 함수를 완성해 주세요. 🚨 제한 사항 1 ≤ my_str의 길이 ≤ 100 1 ≤ n ≤ my_str의 길이 my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다. 💻 입출력 예 "abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"] "abcdef123" 3 ["abc", "def", "123"] ✨ 풀이 설명 우선 문제를 보는 순간 splice가 떠올랐다. 기존 배열을 변경하기 때문에 잘라낸 부분은 join으로 문자열로 변환하여 answer 배열에 추가해 주면, 기존 my_st.. 2023. 3. 3.