개발로그필름
[백준] C 1193 분수 찾기 본문
728x90
반응형
SMALL
https://www.acmicpc.net/problem/1193
1차적으로 문제를 읽고 규칙을 찾아내는데 시간이 많이 소요되었다.
규칙을 찾아도 찾은 규칙을 코드에 어떻게 녹여내야 하는지 시간이 오래 걸렸다.
각 행 별로 나오는 분수들을 쭉 적고 입력값이 몇 번째 행에 속하지 찾는다.
찾은 행에서도 몇 번째인지 구한다
짝수 일때는 역방향이고 홀수일 때는 순 방향이므로 각각의 경우의 수를 나눠서 생각한다
코드 풀이
#include <stdio.h>
int main()
{
int n, sum;
int index = 0; // 몇번째 행인지
scanf("%d", &n);
// 행 구하기
while (1)
{
index++;
sum = index * (index + 1) / 2;
if (n <= sum)
break;
}
// 행에서 몇번째 값인지 구하기
int num = n - (index - 1) * index / 2;
// 짝수 행인지 홀수 행인지 판별
if (index % 2 == 0)
{
printf("%d/%d", num, index - num + 1);
}
else
printf("%d/%d", index - num + 1, num);
return 0;
}
반응형
LIST
'coding test > 백준' 카테고리의 다른 글
[백준] C 2941 크로아티아 알파벳 (0) | 2022.11.12 |
---|---|
[백준] C 2292 벌집 (0) | 2022.11.11 |
[백준] javascript 10430 나머지 (0) | 2022.08.17 |
[백준] javascript 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.08.16 |
[백준] javascript 18108 1998년생인 내가 태국에서는 2541년생?! (0) | 2022.08.14 |
Comments