budtree
나를 조금만 더 완성해보는 날
budtree
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • 💝 Computer Science (5)
      • OS (1)
      • Network (1)
      • Database (3)
    • 🐤 study (21)
      • kubernetes🕸️ (0)
      • Spring Boot🍃 (1)
      • JPA (2)
      • Infra (2)
      • HTML | CSS (3)
      • Java (6)
      • Kotlin (3)
      • etc (4)
    • 💻 Project (3)
      • memoir & diary 📚 (1)
      • class (0)
      • project (2)
    • 🔥 Problem Solving (38)
      • programmers (30)
      • SQL (8)
      • BOJ (0)
    • ✨ daily (10)
      • diary (5)
      • exercise (5)
      • travel (0)
      • review (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코린이
  • 헬스장
  • 코딩테스트
  • kotlin
  • 2018 KAKAO BLIND RECRUITMENT
  • java
  • 프린이
  • 코틀린
  • 월간코드챌린지
  • 취업
  • 카카오
  • 코테
  • 피티
  • 카카오코딩테스트
  • 헬린이
  • 월간 코드 챌린지
  • Summer/Winter Coding
  • 일기
  • 자바
  • 카카오코테
  • programmers
  • 블랙멀티짐
  • 취업준비
  • HashMap
  • 프로그래머스
  • css
  • ArrayList
  • 서울대입구 헬스장
  • 개린이
  • pt

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
budtree

나를 조금만 더 완성해보는 날

[프로그래머스] 월간 코드 챌린지 시즌3 없는 숫자 더하기
🔥 Problem Solving/programmers

[프로그래머스] 월간 코드 챌린지 시즌3 없는 숫자 더하기

2022. 1. 28. 10:27

 

🔥DAY +2

 

https://programmers.co.kr/learn/courses/30/lessons/86051?language=java

 

코딩테스트 연습 - 없는 숫자 더하기

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.

programmers.co.kr

 

더보기
더보기

문제 설명

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.

입출력 예numbersresult
[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 해야 합니다.

 

 


 

🔥 [로직]

전체 합(45)에서 정수 배열에 들어간 값을 차례로 빼주기

 

🔥 [최종 코드]

class Solution {
    public int solution(int[] numbers) {
        int answer = 45;
        
        for(int num : numbers) {
            answer -= num;
        }
    
        return answer;
    }
}

 

🔥 [소감]

 

의외로 오랜 시간이 걸렸다.. 맨 처음에 Arraylist에서 Arrays.asList(numbers).contains(i)에 해당되지 않는 숫자들을 더하려고 했는데 아무리 시도해도 모든 케이스에 45라는 답이 나와서 한참 애먹었다.

알고보니 int[]같은 기본 배열에서의 Arrays.asList는 List<int[]>형이 되어버리기 때문에 그 int[]형 자체가 하나의 리스트가 되어버려 내가 원하는 데이터형이 아니었다.. 그것도 모르고 삽질을 계속한 나.

(참고 -  https://stackoverflow.com/questions/31422025/arrays-aslistint-not-working )

내가 원하는 방식으로 하려면 

List<Integer> list = new ArrayList<>(); 
for(int number: numbers) { 
	list.add(number); 
}

이렇게 List<Integer>형을 선언해서 하나씩 값을 add해주는 방식을 써야한다.

List<Integer>와 int[]형의 차이에 대해 공부하는 시간이 필요할 것 같다.

(https://wayhome25.github.io/cs/2017/04/17/cs-18-1/)

여기에 정리가 잘 되어 있는 블로그 찾음! 

 


 

코테 준비를 본격적으로 시작한지 얼마 되지 않아 코드에 미흡한 점이 많을 수 있습니다. 
부족한 점 피드백 주시면 앞으로의 포스팅에 반영하겠습니다! 봐주셔서 정말 감사합니다 :)
-zelkova

'🔥 Problem Solving > programmers' 카테고리의 다른 글

[프로그래머스] 2020 카카오 인턴십 키패드 누르기(Java)  (0) 2022.02.06
[프로그래머스] 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천(Java)  (0) 2022.01.31
[프로그래머스] 탐욕법(Greedy) 체육복 (Java)  (0) 2022.01.29
[프로그래머스] 월간 코드 챌린지 시즌2 음양 더하기(Java)  (0) 2022.01.27
[프로그래머스] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기(Java)  (0) 2022.01.27
    '🔥 Problem Solving/programmers' 카테고리의 다른 글
    • [프로그래머스] 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천(Java)
    • [프로그래머스] 탐욕법(Greedy) 체육복 (Java)
    • [프로그래머스] 월간 코드 챌린지 시즌2 음양 더하기(Java)
    • [프로그래머스] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기(Java)
    budtree
    budtree
    개발, 운동, 일상등의 글을 올립니다.

    티스토리툴바