[programmers] 프로그래머스 Level1 같은 숫자는 싫어
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.
프로그래머스 Level1 같은 숫자는 싫어
1) 문제
2) 풀이 과정
1. 반환할 중복이 제거된 빈 배열을 선언한다.
2. 첫번째의 값은 무조건 중복이 되지 않기에 값을 넣어준다.
Why? 빈배열로는 기준을 잡을 수 없으니까(중복되지 않는 첫번째의 값을 추가)
3. 메개변수로 받은 배열을 (배열의 크기-1)만큼 반복을 확인 해준다.
Why? 이 때 i의(인덱스값)으로 인해 초기의 시작값은 1로 잡는다. 그래야 arr[1] != arr[0] 으로 기준 인덱스가 0부터 시작이 되니까
4. arr[i]의 값을 빈 배열에 출력해준다.
Why? arr[i-1]가 아니라 arr[i]로 추가 하는 이유는 입출력의 예를 직접 해보면 된다.
arr[0] : 4
arr[1] : 4
arr[2] : 4
arr[3] : 3
arr[4] : 3
answer = [4, ]
arr[0] = 4
반복횟수 : 1 - > arr[1]=arr[0] # 4
반복횟수 : 2 - > arr[2]=arr[1] # 4
반복횟수 : 3 - > arr[3]!=arr[2] # 3
반복횟수 : 4 - > arr[4]=arr[3] # 3
3) 코드
1
2
3
4
5
6
7
8
9
|
def solution(arr):
answer = []
answer.append(arr[0])
for i in range(1, len(arr)):
if(arr[i] != arr[i-1]):
answer.append(arr[i])
return answer
|
cs |
4) 정리 노트
1
2
3
|
for i in range(1, 5):
print(i) # 변수 i에 1,2,3,4 저장
|
cs |
'*Algorithm > Programmers_Level1' 카테고리의 다른 글
[programmers] 프로그래머스 Level1 문자열을 정수로 바꾸기(파이썬Python) (0) | 2020.08.30 |
---|---|
[programmers] 프로그래머스 Level1 문자열 내림차순으로 배치하기(파이썬 Python) (0) | 2020.08.30 |
[programmers] 프로그래머스 Level1 나누어 떨어지는 숫자 배열(파이썬 Python) (0) | 2020.08.29 |
[programmers] 프로그래머스 Level1 수박수박수박수박수박수?(파이썬 Python 자바 Java) (0) | 2020.08.28 |
[programmers] 프로그래머스 Level1 2016년(파이썬 Python) (0) | 2020.08.27 |
댓글