프로그래머스[초급] 문제
0~9 까지의 숫자가 있는데 주어지는 배열에서 0~9 까지의 숫자중 없는 숫자를 더하는 알고리즘
아주 간단한 문제였고, 다른 사람들의 풀이를 보면서 와... 뒤통수를 맞은 느낌이였다.
내가 풀이한 방식은
1. 주어진 배열을 문자열로 바꾼후
2. for문을 통해서 (0~9)로 돌림 //
3. numStr에 i값이 포함되는지를 확인하여 포함되지 않은 값을 더해주는 방식으로 처리하였다.
- 다 풀고나서 생각해보니 만약에 0~9가 아니라 0~10 까지만되어도 내 풀이는 효과적이지 못했다.
단지 0~9 까지만에서만 사용할 수 있는 풀이였던것 같다.

============================================================================다른 사람의 풀이또한 간단하였지만 이런 생각을 한다는게 신기 했고, 여러 방법을 생각해서 문제를 처리해봐야 겠다는 생각이 들었다.
1. 0~n 까지의 숫자의 총합을 구하고, 주어지는 arr 배열에 존재하는 값을 다 빼면 없는 값의 합만 남게 된다.

2. 동일한 방법이지만 JAVA 8 이후의 기능인 stream 기능을 이용하자면

의 방법도 있었다.
알고리즘을 공부하면서 JAVA8 이후의 기능을 사용해서 풀이하는 사람이 많은것 같다. 공부를 해야겠다....
'Algorithm' 카테고리의 다른 글
[Algorithm] 2개의 배열 내적 (0) | 2022.05.28 |
---|---|
[Algorithm] 음수와 양수의 합을 구하기 (0) | 2022.05.28 |
[Algorithm] 인형 제거 게임 (0) | 2022.05.26 |
[Algorithm] 키패드 누르기 (0) | 2022.05.25 |
[Algorithm] 숫자문자열과 영단어 (0) | 2022.05.24 |