728x90
반응형
피자 나눠먹기 1
https://school.programmers.co.kr/learn/courses/30/lessons/120814
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
static int solution(int n) {
// 피자 한판 = 7조각
int pizzaSlice =7;
// 피자한판
int plate =1;
int answer =1;
// 회식총무가 피자가게에 가서 사람수를 센다. 사람수 n만큼 루프
for(int i =1; i<n; i++) {
// 이 가게는 피자를 7조각 씩 잘라주네? 1조각이상은 먹게해야겠다.
// i가 7조각으로 나눠서 떨어지면 한판증가.
// 1명있어도 1판 2명있어도 1판 7명있어도 1판, <= PLATE 기본값은 1판
// 8명있으면? 2판
if(i % pizzaSlice ==0) {
plate++;
}
}
answer= plate;
return answer;
}
이클립스 전체코드 , 컴파일 후 결과
피자 나눠먹기 2
https://school.programmers.co.kr/learn/courses/30/lessons/120815
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 입출력 예
n | result |
6 | 1 |
10 | 5 |
4 | 2 |
풀이
처음 작성한 코드
간단한문제라고 생각했으나, 1시간을 고민해도 생각대로 나오지 않았다.
6명이 모두 같은 조각을 먹는다고 해서
피자 6조각과 피자 한판 수를 곱해서 사람수로 나눠서 0으로 나눠떨어지면 되지 않을까? 라고생각했다.
public class Ex07 {
static int solution(int n) {
int plate =1;
int pizzaSlice =6;
int answer = 1;
// 사람수를 샌다. 4명
for(int i =1; i<n; i++) {
answer = (plate * pizzaSlice) % n;
plate++;
}
return answer;
}
public static void main(String[] args) {
int n =4;
int result = solution(n);
System.out.println(result);
}
}
최종코드
처음코드에서 생각은 맞았지만 조건식이 틀렸다.
피자 슬라이스와 피자한판을 곱해서 사람수를 나눠서 0으로 떨어지지 않으면 피자 한판을 추가하는 것인데
실수로 0으로 나누어떨어지면 한 판을 증가해서 자꾸 원하는 결과가 나오지않았다.
public class Ex07 {
static int solution(int n) {
int answer = 1;
while( (6 * answer)%n != 0 ){
answer++;
}
return answer;
}
public static void main(String[] args) {
int n =10;
int result = solution(n);
System.out.println(result);
}
}
728x90
반응형
'java 문제풀기(프로그래머스스쿨, 강의)' 카테고리의 다른 글
sql 고득점 kit (없어진 기록찾기 , 있었는데요 없었습니다. (0) | 2023.07.03 |
---|---|
SQL 고득점 kit join(상품별 오프라인 매출 , 조건에 맞는 저자와 도서 ) (0) | 2023.07.03 |
프로그래머스 Summer/Winter Coding(~2018) - 영어 끝말잇기 (0) | 2023.06.26 |
코딩 테스트 입문( 최빈값 구하기 , 짝수는 싫어요 ) (0) | 2023.06.25 |
코딩테스트입문 ( 배열의 평균 값, 양꼬치 , 배열 뒤집기, 배열 원소길이) (0) | 2023.06.21 |