프로그래머스 코딩테스트
문제 1. 인덱스 바꾸기
문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
설명: 일단 인덱스 값을 구하기 위해 .split()를 사용해 문자열을 배열로 만들어주었다. 이후 빈 공간 temp를 사용해 my_string[num1]값을 저장하고, 그 자리에 my_string[num2] 값을 넣었다. num2 인덱스 자리에는 temp를 넣어 교체한 뒤, .join()을 사용해 문자열로 합쳐주었다.
문제 2. 약수 구하기
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
설명: 오름차순으로 return 해달라고 요청했으니, i를 0부터 시작한다. 만약 내림차순으로 정렬할 생각이라면 n부터 시작하면 된다.
문제 3. 배열 회전시키기
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
설명: 처음에는 반복문을 사용해서 일일이 다 돌려줬는데, 찾아보니 .shift()와 unshift를 사용하면 편리해졌다.
문제 4 - 외계행성의 나이
우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, …, j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.
설명: 일단 어떤 특정한 숫자일 때 해당하는 알파벳이 있다는 건, 객체를 사용해 key값을 줄 수 있다는 것이다. 그러니 객체를 만들어 각 숫자에 맞는 알파벳을 배정한 뒤 반복문을 돌려 합쳐준다.
문제 5 - 숫자 찾기
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
설명: 일단 num을 배열로 만들어버린 뒤에 indexOf()를 사용해 값을 찾았다. indexOf()는 원하는 값이 없을 경우 -1을 내놓는데, 문제에서는 index+1한 값을 원하므로 if문을 사용해 구분해준다.