728x90
문제 링크 : https://www.acmicpc.net/problem/2292
목차
1 설명
2 내 코드
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 |