๐Ÿงฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/๐Ÿต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด(Java)

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ

carrot0911 2024. 11. 14. 10:00

๋ฌธ์ œ ์„ค๋ช…

https://school.programmers.co.kr/learn/courses/30/lessons/86051

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ numbers์˜ ๊ธธ์ด ≤ 9
    • 0 ≤ numbers์˜ ๋ชจ๋“  ์›์†Œ ≤ 9
    • numbers์˜ ๋ชจ๋“  ์›์†Œ๋Š” ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

numbers result
[1, 2, 3, 4, 6, 7, 8, 0] 14
[5, 8, 4, 0, 6, 7, 9] 6

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 5, 9๊ฐ€ numbers์— ์—†์œผ๋ฏ€๋กœ 5 + 9 = 14๋ฅผ returnํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 1, 2, 3์ด numbers์— ์—†์œผ๋ฏ€๋กœ, 1 + 2 + 3 = 6์„ returnํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        
        int[] check = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
        
        for (int num : numbers) {
            check[num] = 1;
        }
        
        for (int i = 0; i < 10; i++) {
            if (check[i] == 0) {
                answer += i;
            }
        }
        
        return answer;
    }
}

์ฝ”๋“œ ์„ค๋ช…

  • int[ ] check = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} : 0 ~ 9๊นŒ์ง€ ์ˆซ์ž์˜ ์กด์žฌ๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฐ์—ด check๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • for (int num : numbers) { } : ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ numbers์˜ ๊ฐ’๋“ค์„ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์˜จ๋‹ค.  
    • check[num] = 1 : ๋ฐฐ์—ด check์˜ num ์ธ๋ฑ์Šค๋ฅผ 1๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. 1๋กœ ๋ฐ”๋€ ์ธ๋ฑ์Šค๋“ค์€ ์ˆซ์ž๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
  • for (int i = 0; i < 10; i++) { } : ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด check๋ฅผ ํ™•์ธํ•œ๋‹ค.
    • if (check[i] == 0) {answer += i} : ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐฐ์—ด check์˜ i๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์ด 0์ด๋ผ๋ฉด ๋ณ€์ˆ˜ answer์— i ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค. i๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์ด 0์ด๋ผ๋ฉด ์ˆซ์ž๊ฐ€ ๋ฐฐ์—ด numbers์— ์กด์žฌํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•œ๋‹ค.