프로그래머스6일차

지선·2023년 5월 2일

코딩테스트

목록 보기
6/8

369 게임

class Solution {
    
    public int solution(int order) {
        int answer = 0;
        int n=order;
        int cnt=0;
        
        while(true){
            if(n==0){
                break;
            }
            
            order=order%10;
            
            if((order%3==0)&&(order>0)){
                cnt++;
            }
            n=n/10;
            order=n;
        }
        answer=cnt;
        return answer;
    }
}

첨에 order가 0 초과일 때 조건을 안넣어서 실패..^ 왜 자꾸 이러니 문제 좀 제대로 파악하고 코드를 짜자 냅다 짜지 말고!!

숫자 찾기

class Solution {
    public int solution(int num, int k) {
        int answer = 0;
        
        String str=Integer.toString(num);
        
        String[] arr=new String[str.length()];
        
        for (int i=0; i<str.length(); i++) {
            arr[i]=String.valueOf(str.charAt(i));
        }
        
        for (int i=0; i<str.length(); i++) {
            if (Integer.parseInt(arr[i])==k) {
                answer=i+1;
                break;
            }
        }
        
        if (answer==0) {
            answer=-1;
        }
        
        return answer;
    }
}

합성수 찾기

class Solution {
    public int solution(int n) {
        int answer = 0;
        int cnt=0;
        
        int num_cnt;
        for(int i=4;i<n+1;i++){
            num_cnt=0;
            for(int j=1;j<i+1;j++){
                if(i%j==0){
                    num_cnt++;
                }
            }
            if(num_cnt>=3){
                cnt++;
            }
        }
        answer=cnt;
        return answer;
    }
}

2차원으로 만들기

class Solution {
    public int[][] solution(int[] num_list, int n) {
        int[][] answer = new int[num_list.length/n][n];
        
        int cnt=0;
        
        for(int i=0;i<(num_list.length)/n;i++){
            for(int j=0;j<n;j++){
                answer[i][j]=num_list[cnt++];
            }
        }
        
        return answer;
    }
}
profile
긍정왕되기

0개의 댓글