https://www.acmicpc.net/problem/1193
๋ธ๋ก ์ฆ ๋ฌธ์ ์ธ๋ฐ ์ด๋ ต๊ฒ ํ์๋ค... ์ฒ์์๋ ๊ท์น์ ์ฐพ์๋ณด๊ฒ ๋ค๊ณ ๊ฐ ํ๊ณผ ์ด์ ์์ด๋ก ์๊ฐํด ๊ณต์ฐจ๋ฅผ ์ฐพ์๋ณด๊ธฐ๋ ํ์ง๋ง, ์์์ผ๋ก ํํํ๊ธฐ์ ๋๋ฌด ๋ณต์กํด ๋ณด์ฌ์ ํฌ๊ธฐํ๋ค. ๊ณ์ ๊ท์น์ ์ฐพ์ง ๋ชปํ๊ณ ๋ฏธ๋ฃจ๊ณ ์๋ค๊ฐ ๋ค๋ฅธ ์ฌ๋์ ๊ท์น ํํธ๋ฅผ ๋ฃ๊ณ ํ ์ ์์๋ค! ๊ทผ๋ฐ ์ด๋ง์ ๋ ์คํฐ๋์์ ๋ค๋ฅธ ํ์ด์ ๋น๊ตํ์ ๋๋ ๋ณต์กํ๊ฒ ํผ ํธ์ด๋ค.
์ง๊ทธ์ฌ๊ทธ๋ก ๋ฐ๋ณต์ด ๋๋๋ฐ, ๊ทธ ๋ฐ๋ณต๋๋ ํจํด 4๊ฐ์ง๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ ์ซ์๊ฐ ๋์ฌ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
→ : ํ ๋ฒ๋ง ์์ง์ธ๋ค.
โ : ์ฒ์์๋ 1๋ฒ, ๊ทธ ๋ค์์๋ 3๋ฒ, 5๋ฒ, .. ์์ง์ธ๋ค.
↓ : ํ ๋ฒ๋ง ์์ง์ธ๋ค.
โ : ์ฒ์์๋ 2๋ฒ, ๊ทธ ๋ค์์๋ 4๋ฒ, 6๋ฒ, .. ์์ง์ธ๋ค.
์ฒ์ ์ขํ ์์์ ์ (1, 1)๋ก ์ก๊ณ , ์์ง์ผ ๋๋ง๋ค ๊ฐ ํจํด๋ณ๋ก ์ขํ๊ฐ์ ++์ด๋ -- ํด๊ฐ๋ฉฐ ์ขํ๊ฐ์ ๊ณ์ฐํ๋ค.
โ์ โ๋ฅผ ์ํด ๋ฐ๋ณต ์นด์ดํธ๋ฅผ ๋์ด ๋ฐ๋ณต ํ์๋ฅผ ๊ธฐ์ตํ๋๋ก ํ๋ค.
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int X = sc.nextInt();
int count = 1;
int i = 1, j = 1;
int c = 1; //โ, โ ๋ฐ๋ณต ์นด์ดํธ
while(true) {
if(count == X) break;
//→
j++;
count++;
if(count == X) break;
//โ
for(int k = 0; k < c; k++) {
i++;
j--;
count++;
if(count == X) break;
}
if(count == X) break;
c++;
//↓
i++;
count++;
if(count == X) break;
//โ
for(int k = 0; k < c; k++) {
i--;
j++;
count++;
if(count == X) break;
}
if(count == X) break;
c++;
}
System.out.println(i + "/" + j);
}
}
๊ฒฐ๊ณผ
'Algorithm > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1074๋ฒ - Z (0) | 2022.08.21 |
---|---|
๋ฐฑ์ค 2839๋ฒ - ์คํ ๋ฐฐ๋ฌ (0) | 2022.08.21 |
๋ฐฑ์ค 15686๋ฒ - ์นํจ ๋ฐฐ๋ฌ (0) | 2022.08.21 |
๋ฐฑ์ค 1987๋ฒ - ์ํ๋ฒณ (0) | 2022.08.18 |
14889๋ฒ - ์คํํธ์ ๋งํฌ (0) | 2022.08.16 |