프로그래머스(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 |
'자바 초급문제로 맨땅에 해딩하기' 카테고리의 다른 글
자바 Level 2 문제, 4. 124 나라의 숫자 완성 (0) | 2020.04.30 |
---|---|
자바 Level 2 문제, 4-2. 124 나라의 숫자 진행 2일 차. (0) | 2020.04.29 |
자바 Level 2 문제, 3. 기능개발 진행 완성 (0) | 2020.04.24 |
자바 Level 2 문제, 3-2. 기능개발 진행 3일차 (0) | 2020.04.23 |
자바 Level 2 문제, 3-1. 기능개발 진행 2일차 (0) | 2020.04.22 |