Front-End
프로그래머스 기초트레이닝 14일차 본문
문제 70. x-사이의 개수
문제 설명
문자열 myString이 주어집니다.
myString을 문자 "x"를 기준으로 나눴을 때
나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
입출력 예
myString | result |
"oxooxoxxox" | [1, 2, 1, 0, 1, 0] |
"xabcxdefxghi" | [0, 3, 3, 3] |
입출력 예 설명
"x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, 2, 1, 0, 1, 0]을 return 합니다.
"x"를 기준으로 문자열을 나누면 ["", "abc", "def", "ghi"]가 됩니다. 각각의 길이로 배열을 만들면 [0, 3, 3, 3]입니다. 따라서 [0, 3, 3, 3]을 return 합니다.
저의 풀이!
메모
split() 문자열을 일정한 구분자로 잘라서 배열로 저장해주는 함수다.
'x' 로 구분자로 정해서 배열로 나눈 후 map 을 이용해서 length 값을 구하면된다.
문제 71. 가까운 1 찾기
문제 설명
정수 배열 arr가 주어집니다.
이때 arr의 원소는 1 또는 0입니다.
정수 idx가 주어졌을 때,
idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.
단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.
입출력 예
arr | idx | result |
[0, 0, 0, 1] | 1 | 3 |
[1, 0, 0, 1, 0, 0] | 4 | -1 |
[1, 1, 1, 1, 0] | 3 | 3 |
입출력 예 설명
1보다 크면서 원소가 1인 가장 작은 인덱스는 3입니다. 따라서 3을 return 합니다.
4번 인덱스 이후에 1은 등장하지 않습니다. 따라서 -1을 return 합니다.
3번 인덱스의 값이 1입니다. 따라서 3을 return 합니다.
저의 풀이!
메모
indexOf 인자 중 두번째 인자로 시작점을 정할 수 있다.
시작점을 idx로 하면서 0번째 인덱스가 1이라면 전체의 인덱스 숫자를 내보내준다.
아니면 그냥 for문과 조건문으로도 가능하다.
조건이 true 일때 i 를 내보내고 아니면 -1을 내보내게끔 코드를 작성했다.
문제 72. 문자열 잘라서 정렬하기
문제 설명
문자열 myString이 주어집니다.
"x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.
입출력 예
myString | result |
"axbxcxdx" | ["a","b","c","d"] |
"dxccxbbbxaaaa" | ["aaaa","bbb","cc","d"] |
입출력 예 설명
myString을 "x"를 기준으로 자른 배열은 ["a","b","c","d"]이며, 이 배열은 이미 사전순으로 정렬된 상태입니다.
따라서 해당 배열을 return 합니다.
myString을 "x"를 기준으로 자른 배열은 ["d","cc","bbb","aaaa"]이며, 이 배열을 사전순으로 정렬하면 ["aaaa","bbb","cc","d"]입니다. 따라서 해당 배열을 return 합니다.
저의 풀이!
메모
split() 문자열을 일정한 구분자로 잘라서 배열로 저장해주는 함수다.
그리고 filter로 빈 문자열을 제거한후 사전순으로 정렬하기 위해 sort() 함수를 사용한다
'알고리즘' 카테고리의 다른 글
프로그래머스 기초트레이닝 15일차 (1) | 2023.09.12 |
---|---|
== 추가적인 공부 == (1) | 2023.09.11 |
프로그래머스 기초트레이닝 13일차 (1) | 2023.08.30 |
프로그래머스 기초트레이닝 12일차 (0) | 2023.08.28 |
프로그래머스 기초트레이닝 11일차 (0) | 2023.08.26 |