알고리즘/백준 알고리즘

[백준] 1193 - 분수찾기

TIM_0529 2022. 12. 31. 07:39
반응형
#include <iostream>
using namespace std;

int main() {
	int n;
	cin >> n;
	int i = 1;
	
	while (n>i)
		n -= i++;

	if (i % 2 == 1)
		cout << i + 1 - n << "/" << n << endl;
	else
		cout << n << "/" << i - n + 1 << endl;

}

 

홀수번째 대각선과 짝수번째 대각선에 규칙을 찾아 풀었습니다.

2020KB 메모리를 사용했습니다.

 

#include<stdio.h>

int main() {
	int X,i;
	scanf("%d",&X);
	for(i=1;i<X;i++) {
		X-=i;
	}
	if(i%2==0) printf("%d/%d",X,i+1-X);
	else printf("%d/%d",i+1-X,X);
}

이 분은 for문을 사용해서 풀었고 1112KB 메모리를 사용했습니다.

방법은 동일하게 X를 사용해서 대각선에 몇 번째 위치에 있는지 찾고 홀수와 짝수를 구분지어서 정답을 출력했습니다.

반응형