C#

백준 C# 2292 문제 풀이

psb08 2024. 10. 6. 20:15
728x90

문제 링크 : https://www.acmicpc.net/problem/2292

목차

1 설명

 

2 내 코드

 

3 문제 풀이 해석 내용

 

4 실행 결과

 

설명

백준 브론즈 2 문제 입니다.

 

 

내 코드

int input = Convert.ToInt32(Console.ReadLine());
int n = 1;
int k = n - 1;
int output = 1;

while (input > output)
{
    output += 6 * (n - 1);
    n++;
}

if (input == 1)
    Console.WriteLine(n);
else
    Console.WriteLine(n - 1);

 

문제 풀이 해석 내용

입력 받기

int input = Convert.ToInt32(Console.ReadLine());

사용자가 입력한 값을 정수로 변환하여 input 변수에 저장합니다.

 

 

초기화

int n = 1;
int k = n - 1;
int output = 1;

n은 현재 레벨 (또는 층)을 나타냅니다. 초기값은 1입니다.

k는 현재 레벨의 이전 값을 나타냅니다만 이 코드에서는 사용하지 않습니다.

output은 현재까지 계산된 출력값을 저장하며, 초기값은 1입니다.

 

 

루프

while (input > output)
{
    output += 6 * (n - 1);
    n++;
}

while 루프는 input이 output보다 클 때 계속 실행됩니다.

output은 다음 레벨의 값으로 업데이트됩니다. 여기서 6 * (n - 1)은 각 레벨에서 추가되는 수를 나타냅니다.

각 반복마다 n이 증가합니다.

 

 

결과 출력

if (input == 1)
    Console.WriteLine(n);
else
    Console.WriteLine(n - 1);

입력값이 1인 경우, 현재 n을 출력합니다.

그렇지 않으면 n - 1을 출력합니다. 이는 최종적으로 도달한 레벨을 나타냅니다.

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 2869 문제 풀이  (0) 2024.10.08
백준 C# 1193 문제 풀이  (0) 2024.10.07
백준 C# 2903 문제 풀이  (0) 2024.10.05
백준 C# 11005 문제 풀이  (0) 2024.10.02
백준 C# 2720 문제 풀이  (0) 2024.09.30