프로그래머스 기본 언어설정이 C로 되어있는 줄 모르고
malloc, int* 등의 문법이 본인이 모르는 새로운 자바 문법인 줄 알고 구글링을 해보았음.
덕분에 동적할당, 정적할당이라는 개념을 알게됨.
동적할당: 힙에 메모리를 할당하는것
정적할당: 스택에 메모리를 할당하는것
C언어는 메모리를 할당하는 것까지도 일일이 설정을 해주어야하는가 보다.
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
53
54
55
56
57
58
59
60
61
62
|
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
int knowWin = 0;
int unKnownCount = 0;
int guessBest = 0;
int guessWorst =0;
for(int number:lottos){
if (number ==0){
unKnownCount ++;
continue;
}
for(int winNumber:win_nums){
if(number==winNumber){
knowWin++;
}
}
}
guessBest = knowWin + unKnownCount;
guessWorst = knowWin;
answer[0] = getRank(guessBest);
answer[1] = getRank(guessWorst);
return answer;
}
public int getRank(int guess){
switch(guess){
case 0:
guess = 6;
break;
case 1:
guess = 6;
break;
case 2:
guess = 5;
break;
case 3:
guess = 4;
break;
case 4:
guess = 3;
break;
case 5:
guess = 2;
break;
case 6:
guess = 1;
break;
}
return guess;
}
}
|
cs |
1-62: 솔루션 클래스
2-30: lottos int배열과 win_nums int배열을 인자로 받고 answer int배열을 반환하는 솔루션메서드
3: answer int배열의 크기를 2로 설정한다. {최고등수, 최저등수}
5: 아는 번호가 맞았을 경우를 카운팅하기 위한 knowWin int변수를 선언한다.
6: 모르는 번호의 갯수를 카운팅하기위한 unKnownCount int변수를 선언한다.
7: 최고로 많이 맞은 갯수를 담을 guessBest int 변수를 선언한다.
8: 최고로 못 맞은 갯수를 담을 guessWorst int 변수를 선언한다.
10-21: lottos의 값들을 number에 담아 반복하는 for문
11-14: number가 0일 경우 unKnownCount를 1더하고 continue하여 10행으로 돌아간다.
16-20: win_number을 winNumber에 담는 for문
17-19: number와 winNumber가 같을 경우 knowWin을 +1 해준다.
22: 최고점수는 unKnownCount가 다 맞은 경우
23: 최저점수는 unKnownCount가 다 틀린 경우
25: answer에 guessBest를 파라미터로 getRank메서드를 리턴받음
26: answer에 guessWorst를 파라미터로 getRank메서드를 리턴받음
29: answer를 반환한다.
32-59: int변수를 받아서 int변수를 반환하는 getRank메서드. 로또 등수를 switch_case문을 이용하여 구하고 guess에 바인딩하여 반환한다.
'개발 > 코딩' 카테고리의 다른 글
[프로그래밍] 프로그래머스 예제문제 풀어보기 <신규 아이디 추천> (성공) (0) | 2022.03.16 |
---|---|
[프로그래밍] JAVA자바연습 insert삽입정렬 (0) | 2022.03.13 |
[프로그래밍] 프로그래머스 예제문제 풀어보기 <신고 결과 받기> (성공) (0) | 2022.03.13 |
[프로그래밍] 프로그래머스 예제문제 풀어보기 <신고 결과 받기> 재도전2(다시 66.7...) (0) | 2022.03.12 |
[프로그래밍] 프로그래머스 예제문제 풀어보기 <신고 결과 받기> 재도전(66.7점->75점) (2) | 2022.03.12 |