자바 초급문제로 맨땅에 해딩하기

자바 Level 2 문제, 4-1. 124 나라의 숫자 진행 중.

Jungsoomin :) 2020. 4. 28. 00:16

프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12899)

자바 Level 2 문제의 124나라의 숫자 이다.

 

자리를 잡고 앉아 손공책에 적는 과정이 참 많았다. 타이핑은 어느정도 생각이 난 뒤에 시작했고, 그 이후에는 타이핑을 해보았는데 진법 규칙을 어떻게 하면 완료할 수 있을지가 고민이다. 일단 String 타입으로 접근해보려고하는데 Integer도 괜찮지않을까 고민 중이라서 로직을 짜봐야 구체적으로 더 접근 하게 될 것 같다.

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package programmers_124나라의숫자;
 
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
 
public class subClass {
    public String solution(int n) {
        String answer = "";
        //124 진법 , 자연수만 존재 모든 수를 1,2,4 로 표현
        List<Integer> list = new ArrayList<Integer>();
        int a =0
        int b = 0;
        //1,2,3 으로 나눌 수 있을지
        if(n>=3) {
            if(n%3 ==0) {for(int i=0; i<n/3;i++) {list.add(4);}
                
                
            }else if(n%3 != 0) {a = n/3; b = n%3;
            for(int i=0; i<a;i++) {list.add(4);}
            if(b%2 ==0) {for(int i=0; i<b/2;i++) {list.add(2);break;}}
            else if(b%1 ==0) {for(int i=0; i<b/1;i++) {list.add(1);break;}}
            
            }
     }else {//   3보다 작다면
         if(n%2 ==0) {for(int i=0; i<n/2;i++) {list.add(2);break;}}
         else if(n%1 ==0) {for(int i =0; i<n/1;i++) {list.add(1);break;}}
         
     }
        System.out.println(list.toString());// 여기까지 List에 1,2,4 진수 대입
        
    //String[] str =list.toString().split("[|,");
    
        
        StringTokenizer st = new StringTokenizer(list.toString(), "[|]|,| ");// 이렇게 하면 토큰 생성
        String check ="";
        StringBuilder sb = new StringBuilder(check);//스트링 빌더
        
        //System.out.println(st.countTokens());
        while(st.hasMoreTokens()){
            check = st.nextToken();//이 안에서 check 를 손봐야함.
            
            
        }
        
        
        
        
        return answer;
    }
}
 
cs