Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- HTML
- 이클립스
- Linux
- 웹프로그래밍
- 웹
- BOJ
- 후기
- 코딩
- 수박수박수박수박수?
- CSS
- 백준
- 프로그래밍언어
- 확인문제
- 정수내림차순으로배치하기
- algorithm
- 알고리즘
- 중소기업면접
- 필기
- 인강
- 부스트코스
- 필기후기
- 한국재정정보원
- 건보필기
- 프로그래밍
- java
- 프로그래머스
- 공부
- 연결요소의개수
- 웹개발
- 농은면접
Archives
- Today
- Total
공부하는 히욤이
[BOJ] 1592. 영식이와 친구들 본문
BaekJoon 1592. 영식이와 친구들
* 문제의 저작권은 BOJ 및 문제를 만든 사람에게 있습니다.
[문제 접근]
1번이 항상 던지기 때문에 배열에 1번째를 넣어주고 시작했다.
공을 받은 사람의 횟수가 짝수 일 때와 홀수 일 때만 잘 구해주면 쉬운 문제인 것 같다.
알고리즘 분류가 유클리드 호제법으로도 되어 있는데 그냥 while문이나 if문으로도 쉽게 풀 수 있는 것 같다.
[코드]
import java.util.Scanner;
public class Main_1592 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); //학생 수
int M = sc.nextInt(); //끝나는 수
int L = sc.nextInt(); //L번째로 던질 사람
int[] get = new int[N+1];
int ball = 1;
int cnt = 0;
get[1] = 1;
while (true) {
if (get[ball] == M) {
break;
}
cnt++;
//짝수 일 때
if (get[ball]%2 == 0) {
if (ball - L <= 0) {
ball = ball + N - L;
} else {
ball = ball-L;
}
get[ball]++;
} else {
if (ball + L > N) {
ball = ball -N +L;
} else {
ball = ball+L;
}
get[ball]++;
}
}
System.out.println(cnt);
}
}
'Algorithm > BaekJoon' 카테고리의 다른 글
[BOJ] 11724. 연결 요소의 개수 (0) | 2020.04.11 |
---|---|
[BOJ] 7576. 토마토 (0) | 2020.04.11 |
[BOJ] 6588. 골드바흐의 추측 (0) | 2020.02.13 |
[BOJ] 1929. 소수 구하기 (0) | 2020.02.13 |
[BOJ] 2609. 최대공약수와 최소공배수 (0) | 2020.02.10 |