

지그재그 순서로 번호가 매겨집니다

특징은
같은대각선 줄 위에 있으면 분모+분자 의 합이 일정합니다
또한 순서는 1 3 6 10 15 이렇게 등차수열의 등차수열입니다
1. 입력된 숫자를 통해 분모가 어떤 숫자인지 알아내고
2. 분모의 를 찾아 낸 다음 그 분모 줄? 에서는 몇번째 인지 구해서
3. 위에서 아래로인지, 아래서 위로인지 구분한 후 출력하자
코드입니다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int i=1;
while(true) {
if((i*(i+1)/2)>=a) {
break;
}
i += 1;
}
int n = a - ((i-1)*i)/2;
if (i%2==0) {
System.out.println(n+"/"+(i+1-n));
}else {
System.out.println((i+1-n)+"/"+n);
}
}
}
while(true) 부분에서
몇번재 대각선 줄에 위치해있는지 찾아내고
if(i%2 == 0) 부분에서
위 방향으로 증가인지
아래 방향으로 증가인지
구분해줍시다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 1316 JAVA 자바] 그룹 단어 체커 (0) | 2023.07.30 |
---|---|
[백준 1269 JAVA 자바] 대칭 차집합 (0) | 2023.07.30 |
[백준 1181 JAVA 자바] 단어 정렬 (0) | 2023.07.30 |
[백준 1157 JAVA 자바] 단어 공부 (1) | 2023.07.29 |
[백준 1152 JAVA 자바] 단어의 개수 (0) | 2023.07.29 |