반응형
Notice
Recent Posts
Recent Comments
Link
코딩일상
항해 99 알고리즘 테스트 본문
반응형
문제: 같은 단어는 싫어
배열 arr와 정수 n이 주어집니다. 배열 arr의 각 원소는 문자열로 이루어져 있습니다. 이때, 배열 arr에서 중복되는 단어는 전부 제거하려고 합니다. 단, 제거된 후 남은 단어들을 반환할 때는 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다.
예를 들어 strings가 ["brush", "sun", "brush", "bed", "car"]이고 n이 1이면 중복을 제거한 배열인 ["sun", "bed", "car"]에서 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
제한 조건
•
strings는 길이 1 이상, 50이하인 배열입니다.
•
strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
•
strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
•
모든 strings의 원소의 길이는 n보다 큽니다.
•
인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
접근방식
1)중복된 값을 제거한후 정렬을 하자
2)중복된 값을 파악하기 쉽게 하기 위해 정렬을 하자
3) 중복된 값을 찾은후 기존 배열에서 제거를 하자
4) 최종 배열을 위조건에서 요구한 사항대로 정렬시키자
코드 진행방식
코드를 작성하면서도
너무 길게 작성한것 같다는 생각이 들었다.
그나마 코드를 줄일수 있다고 생각이 드는곳이 배열에서 중복된 값을 제거 하는 곳인데,
어떤 방식으로 해야할지가 전혀 떠오르지가 않아 우선 나의 생각대로만 구현을 하였다.
아쉬워하던 중 다른 동료들에게 어떤식으로 접근을 해서 풀었는지 보았는데
그 코드는 아래와같다.
다른사람의 풀이
중복된값을 제거하는 방식을 우선 배열을 정렬한후
값기준으로 인덱스 기준 앞이나 뒷쪽에 둘다 비교하여 둘 다 같지 않으면
정렬된 상태이므로 중복이 아닌 value라는 접근이었다.
이걸 보면서 왜 나는 이렇게 생각 하지 못했을까에 대한 아쉬움도 생겼고
새로운 시각도 생겨서 물어보길 잘했다고 생각을 하였다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/001.gif)
반응형
'Study' 카테고리의 다른 글
HTTPS 와 SSL 인증서(1탄) (0) | 2022.08.24 |
---|---|
git 이란?? git 하는 법!! (0) | 2022.07.14 |
[JS] 제일 작은수 제거 하기 (프로그래머스 코테) (0) | 2022.06.01 |
[JS] 짝수와 홀수 (프로그래머스 코테) (0) | 2022.06.01 |
[JS] 평균값 구하기 (프로그래머스 코테) (0) | 2022.06.01 |
Comments