백준 1193 www.acmicpc.net/problem/1193
풀이
지그재그 순서로 지나간다는 것이 여기서 주의할 점이다.
2번째 줄을 보면 1/2 → 2/1
3번째 줄을 보면 3/1 → 2/2 → 1/3
즉, 짝수 줄의 분자는 증가, 분모는 감소이고 홀수 줄은 그 반대이다. 그리고 같은 줄에서 분자 + 분모 의 값 = 줄번호 +1 은 동일하다.
줄은 1씩 증가하므로 for문에서 입력된 값을 순차적으로 차감해준다. 이제 남은 값이 i 보다 작아졌다면 i 줄에 그 분수가 위치한다는 뜻이다.
여기서 i 줄이 홀수인지 짝수인지 판단하고 분자와 분모를 계산해준다.
만약 짝수라면, 분자는 check % i 인 나머지 값(check)이 될 것이고, 분모는 i 번째 줄이니까 i+1-check 값이 될 것이다.
홀수 줄이라면 위의 분자 분모를 바뀌어 출력한다.
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
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int check = n;
int denominator = 0; //분모
int numerator = 0; //분자
for (int i=1; i<=10000000; i++) {
if(check<=i) {
denominator = check;
numerator = i-check+1;
if(i%2==0)
System.out.println(denominator+"/"+numerator);
else
System.out.println(numerator+"/"+denominator);
break;
} else check=check-i;
}
sc.close();
}
}
|
cs |
'알고리즘과 코테' 카테고리의 다른 글
[Java | 백준 10870] 피보나치수 5 (0) | 2021.03.21 |
---|---|
[Java | 백준 2798] 블랙잭 (0) | 2021.03.19 |
[Java | 백준 1085] 직사각형에서 탈출 (0) | 2021.03.19 |
[Java | 백준 2292] 벌집 (0) | 2021.03.19 |
[Java | 백준 1929] 소수 구하기 (0) | 2021.03.19 |
댓글
최근에 올라온 글
TAG
- 북클럽
- 노개북
- intellij
- putty
- LifecycleException
- java
- JIRA
- IT 5분 잡학사전
- 개발도서
- ubuntu
- spring
- 정보처리기사
- 정보처리기사 실기
- 정보처리기사 필기
- 오늘의코딩
- 노마드코더
- AWS
- git연동
- gradle
- 웹페이지만들기
- 기술블로그
- gradle build
- jdbc
- 실용주의프로그래머
- filezila
- 배포
- SQLD
- EC2
- 호스팅영역
- 독서후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함