본문 바로가기

전체 글

(96)
[프로그래머스] 키패드 누르기 with Kotlin 문제 숫자 버튼을 어느쪽 손가락으로 누르는지 배열에 담아 반환하는 문제 1 2 3 4 5 6 7 8 9 * 0 # 조건 시작할 때 왼손은 *에 오른손은 #에 위치 1, 4, 7은 왼손으로 3, 6, 9 는 오른손으로 가운데 열은 손가락이 더 가까운 쪽으로 누른다. 만일 가운데 열 중 양 손의 거리가 같다면, 왼손잡이는 왼손으로 오른손잡이는 오른손으로 누른다. 풀이 과정 1. 키패드를 2차원 배열로 초기화 2. 각 번호의 좌표를 Map에 담는다. 3. 현재 양 손의 위치를 담는 변수 선언 4. 조건에 맞춰 누른 손가락을 담아주면 된다. 코드 import kotlin.math.abs class Solution { fun solution(numbers: IntArray, hand: String): String..
[프로그래머스] 햄버거 만들기 with Kotlin 문제 햄버거 = 빵(1) - 야채(2) - 고기(3) - 빵(1) 재료의 정보를 나타내는 정수 배열 ingredient 가 주어졌을 때, 상수가 포장하는 햄버거의 개수 구하기 풀이 과정 재료를 순차적으로 하나하나 담다가 1231이 나열되면 카운팅하며, 1231 삭제 코드 class Solution { fun solution(ingredient: IntArray): Int { var answer: Int = 0 val sb = StringBuilder() for (item in ingredient) { sb.append(item) //하나하나 담기 if (sb.length >= 4 && sb.substring(sb.length - 4) == "1231") { //1231이 오면 sb.setLength(sb..
[프로그래머스] 바탕화면 정리 with Kotlin 문제 바탕화면 아이콘("#")을 최소로 드래그할 수 있는 S좌표부터 E좌표의 값을 각각 배열에 넣어 반환하는 문제 풀이 과정 S는 기존 배열의 인덱스와 같다. E는 기존 배열의 인덱스 + 1 이다. S는 "#"이 들어있는 인덱스 중 x가 가장 적은 인덱스의 x와 y가 가장 적은 인덱스의 y를 조합 E는 반대 코드 import kotlin.math.* class Solution { fun solution(wallpaper: Array): IntArray { val saveX = ArrayList() val saveY = ArrayList() for(x in wallpaper.indices){ for(y in wallpaper[x].indices){ if(wallpaper[x][y] == '#') { sav..