코딩테스트/프로그래머스_코딩 기초 트레이닝

[프로그래머스] 정수 찾기

아리빠 2023. 5. 26. 11:20

정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요.

 

 

<생각과정>

 

num_list 안에 있는 정수 n이 들어있을 때 answer = 1;으로 , 근데 num_list안에 있는거 어떻게 찾을까...

입출력에서 리스트가 정렬되어 있진 않았다

class Solution {
    public int solution(int[] num_list, int n) {
       
        
        int answer = n;
        
        for (int i = 0; i < num_list.length; i++) {
            if (num_list[i] == answer) {
                break; 
            }
        }
        
        return answer;
    }
}

하나씩 더해가면서 반복문으로 찾을 생각이였는데 에러 .. 실행값이 다르단다

 

배열 찾는거만 집중해서  1,0 리턴하는거 안해줬다 

 

class Solution {
    public int solution(int[] num_list, int n) {
       
        
        int answer = n;
        
        for (int i = 0; i < num_list.length; i++) {
            if (num_list[i] == answer) {
                ansewer = 1;           
        }   else{
                answer =0;
            }
        
    }
}

그래서 고친 코드인데 다시 에러 뭘까..

class Solution {
    public int solution(int[] num_list, int n) {
       
        
        int answer = n;
        
        for (int i = 0; i < num_list.length; i++) {
            
            if (num_list[i] == answer) {
                
                answer = 1;
                break;
                
            }
            else
                answer = 0;
     
        }
    
    }
        return answer;
}

break도 걸어줬는데 여전히 에러다

 

는 else에 {} 가 빠졌네.. 아니 위에서 넣어놓고 언제 빠진거지

class Solution {
    public int solution(int[] num_list, int n) {
       
        
        int answer = n;
        
        for (int i = 0; i < num_list.length; i++) {
            
            if (num_list[i] == answer) {
                
                answer = 1;
                break;
                
            }
            else{
                answer = 0;}
     
        }
    
    
                return answer;
    }
}

...?

3에서 break문이 작동 안했으니 기댓값 1이 안나온걸텐데 하고 찾아보니 

num_list[i] == answer 왜 이래놨지... 

answer에 n값 할당 해놓고 n이랑 비교를 안했다,,, 

 

num_list[i] == n 으로 수정,,

class Solution {
    public int solution(int[] num_list, int n) {
       
        int answer = n;
        
        for (int i = 0; i < num_list.length; i++) {
            
            if (num_list[i] == n) {
                answer = 1;
                break;
            } else{
                answer = 0;
            }
         }
         return answer;
    }
}

성공,, 

진짜 오랜만에 하려니까 별거 아닌걸로 다 틀려먹는다.., 휴