[프로그래머스/Java/입문/❌⭕️] 짝수는 싫어요

2022. 12. 30. 22:32·🐤 CodingTest/Java

 

 

 

🗣️ 메모

로직이 맞는 것 같은데 아리송하다면 코드 진행 순서도 생각해 볼 것!

 

 

 


 

 

 

✏️ [짝수는 싫어요]

문제 설명

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 100

입출력 예

n result
10 [1, 3, 5, 7, 9]
15 [1, 3, 5, 7, 9, 11, 13, 15]

입출력 예 설명

입출력 #1

  • 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.

입출력 #1

  • 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.

 

 

 


🔥 TRY #1 실패

👉🏻 홀수만 들어갈 answer 배열에 넣을 값을 뽑기 위해 0부터 n/2의 버림한 값만큼 반복 돌리기

👉🏻 1~n까지의 수에서 홀수를 뽑기 위해 2로 나눈 나머지가 1인 수를 뽑아 배열에 넣으려고 시도함

import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int[] answer = new int[(int)(Math.ceil((double)n/2))];
        
        for(int j = 0; j < (int)(Math.ceil((double)n/2)); j++) {
            
            for(int i = 1; i <= n; i++) {
               
                if(i == 1 || i % 2 == 1) {
                   
                    answer[j] = i;

                }
            }
        }
        
        return answer;
    }
}

j가 0일 때 i를 모두 돌면서 마지막 홀수값만 들어감

일단 n/2에 버림한 숫자(=배열의 길이)는 잘 들어갔구나...이중 포문은 답이 아닌 듯하다

 

 

 

🔥🎉 TRY #2 [실행 결과]

👉🏻 for문은 1부터 n까지로만 돌리고 변수 하나를 0으로 초기화하여 선언

👉🏻 홀수가 나올 때 index값을 지정해서 for문의 i값을 넣고, 짝수가 나올 때는 변수에 ++을 한다면?

 

import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int[] answer = new int[(int)(Math.ceil((double)n/2))];
        int num = 0;
            
        for(int i=1; i<=n; i++) {
            if(i % 2 == 1) {
                answer[num] = i;
            } else{
                num++;
            }
        }
        
        return answer;
    }
}

 

 

 


출처: 프로그래머스 코딩 테스트 연습,https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

 

저작자표시 비영리 변경금지 (새창열림)
'🐤 CodingTest/Java' 카테고리의 다른 글
  • [프로그래머스/Java/입문/❌⭕️] 배열 자르기 - Arrays.copyOfRange()
  • [프로그래머스/Java/입문/⭕️] 문자열 뒤집기 - StringBuffer, StringBuilder
  • [프로그래머스/Java/입문/⭕️] 중앙값 구하기 - Arrays.sort()
  • [프로그래머스/Java/입문/❌❌❌⭕️] 분수의 덧셈 - 최대공약수/최소공배수
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[프로그래머스/Java/입문/❌⭕️] 짝수는 싫어요
상단으로

티스토리툴바