728x90
문제
https://www.acmicpc.net/problem/1193
규칙성을 찾아서 푸는 구현 문제다.
코드
using System;
using System.Text;
using System.Collections.Generic;
namespace dongsik
{
class Algorithm
{
static void Main(string[] str)
{
int input = int.Parse(Console.ReadLine());
int cnt = 1; // 몇번째 줄
int mo = 1; // 분모
int ja = 1; // 분자
for(int i = 1; i < input; i++)
{
if(cnt%2 != 0 && ja == 1) // 홀수, 분자가 1이되면
{
cnt++;
mo++;
continue;
}
if(cnt%2 == 0 && mo == 1)
{
cnt++;
ja++;
continue;
}
if(cnt%2 == 0) // 짝수줄
{
mo--;
ja++;
}
else
{
mo++;
ja--;
}
}
Console.WriteLine($"{ja}/{mo}");
}
}
}
고민
규칙을 찾는게 중요했다. 처음엔 배열을 만들어야 하는건지 고민했는데, 배열을 만들어도 어떻게 지그재그로 움직일지 고민했다. 그래서 배열을 풀어서 규칙성을 찾아보니 위와같은 결과가 나왔다.
분모나 분자가 1이 되는 지점을 찾아서 분모가 1이되면 어떻게 해줄건지 분자가 1이되면 어떻게 해줄건지를 각각 지정해줬다.
'동식이 취업시키기 작전 > 코딩테스트' 카테고리의 다른 글
[백준] 1541 잃어버린 괄호(C#) (1) | 2024.01.26 |
---|---|
[백준] 9461 파도반수열(C#) (0) | 2024.01.26 |
[백준] 1929 소수 찾기(C#) (1) | 2024.01.25 |
[백준] 1065 한수(C#) (1) | 2024.01.25 |
[백준] 4673 셀프넘버(C#) (0) | 2024.01.25 |