본문 바로가기
Algorithm

[Algorithm] 없는 숫자 더하기

by dev_Step 2022. 5. 27.

프로그래머스[초급] 문제

 

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 이후의 기능을 사용해서 풀이하는 사람이 많은것 같다. 공부를 해야겠다....