[Programmers/코딩테스트 연습] 피자 Java
2022. 11. 25. 17:48ㆍIT/Programmers
728x90
반응형
피자 나눠먹기 1 (java)
class Solution {
public int solution(int n) {
int answer = 0;
if (n%7 != 0) {
answer = ((int)n/7) +1;
} else {
answer = ((int)n/7);
}
return answer;
}
}
이게 진짜 바보같은 코드인게,
class Solution {
public int solution(int n) {
int answer = 0;
answer = (n%7 != 0) ? ((int)n/7) +1 : ((int)n/7);
return answer;
}
}
? : 이걸 잊고 있었다ㅠㅠㅠ
그런데 이럴 때 짧은 코드가 효율적인 걸까, 분석하기 좋은 코드가 좋은 코드인걸까?
이건 쉬웠으니까 하나 더,
피자 나눠먹기 2 (java)
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= 100; i++) {
if((n*i)%6 == 0) {
answer = (n*i)/6;
break;
}
}
return answer;
}
}
나도 최소 공배수 구하는 걸 생각했는데, 이게 더 간단한 것 같아서..
근데 재귀함수 다시 보기는 해야겠다.
1) answer = n과 6의 최소공배수 / 6
2) 최소공배수 : n * 6 / (n과 6의 최대공약수)
3) 최대공약수 : 유클리드 호제법*
*(num1 > num2)
num1 % num2 = R (if R == 0, then num1 is gcd(num1, num2)
num2 % R = R1 (if R1 == 0, then R is gcd(num1, num2)
```
피자 나눠먹기 3 (Java)
class Solution {
public int solution(int slice, int n) {
int answer = 0;
answer = n%slice != 0 ? (int)n/slice +1 : (int)n/slice;
return answer;
}
}
728x90
반응형
'IT > Programmers' 카테고리의 다른 글
[Programmers/코딩테스트 입문] 아이스 아메리카노, 배열뒤집기 Java (StringBuffer, charAt) (0) | 2022.11.28 |
---|---|
[Programmers/코딩테스트 연습] 짝수는 싫어요 Java (arraylist 동적 배열) (0) | 2022.11.27 |
[Programmers/코딩테스트 연습] 최빈값 구하기 java (0) | 2022.11.26 |
[Programmers/코딩테스트 연습] 중앙값 - 배열 연산자, 나누기 연산자, python 주석처리 (0) | 2022.11.24 |
[Programmers/코딩테스트 연습] 과일장수 Python (2) | 2022.11.21 |