백준문제풀이 8단계 일반 수학 1(6) 1193번 분수찾기 (C#)
2024. 6. 17. 21:06ㆍ백준 문제풀이/8단계 일반 수학 1
이런식으로 나열된 배열에서 지그재그 순서로 분수를 카운트 할때 X번째에 있는 분수를 출력하는 문제.
먼저 지그재그 순서로 생각해보면
1/1
1/2 , 2/1
3/1 , 2,2 , 1/3
1/4 , 2/3 , 3/2 , 4/1
같이 된다.
잘 살펴보면 홀수 줄은 분자가 감소하며 분모가 증가한다.
반대로 짝수줄은 분자가 증가하고 분모가 감소한다.
이를 이용해서 반복문으로 만들어주면...
using System;
class BackJoon
{
static void Main(string[] args)
{
int X = int.Parse(Console.ReadLine());
int line = 1, count = 0;
while (true)
{
if (X <= count + line)
{
if (line % 2 == 1)
Console.WriteLine("{0}/{1}", (line - (X - count - 1)), (X - count));
else
Console.WriteLine("{0}/{1}", (X - count), (line - (X - count - 1)));
break;
}
else
{
count += line;
line++;
}
}
}
}
Line 1번 부터 시작해서 반복할때마다 count에 더해주자.
예를 들어 X가 10이라면 line은 4이고 count는 6이다.
짝수줄이니까 분자는 10-6 = 4
분모는 4-(10-6-1) = 1
X가 10일때 > 4/1
'백준 문제풀이 > 8단계 일반 수학 1' 카테고리의 다른 글
백준문제풀이 8단계 일반 수학 1(7) 2869번 달팽이는 올라가고 싶다 (C#) (0) | 2024.06.18 |
---|---|
백준문제풀이 8단계 일반 수학 1(5) 2292번 벌집 (C#) (0) | 2024.06.16 |
백준문제풀이 8단계 일반 수학 1(4) 2903번 중앙 이동 알고리즘 (C#) (0) | 2024.06.15 |
백준문제풀이 8단계 일반 수학 1(3) 2720번 세탁소 사장 동혁 (C#) (0) | 2024.06.14 |
백준문제풀이 8단계 일반 수학 1(2) 11005번 진법 변환 2 (C#) (0) | 2024.06.12 |