오랜만에 코딩 테스트 감각을 되찾기 위해 백준 단계별 풀어보기 문제를 하나 선택해 풀이했다.
기본적인 배열 처리와 반복문 구조를 다시 복기하는 데 초점을 두고 진행했다.


Console.ReadLine()은 문자열을 반환하기 때문에 int.Parse()를 통해 필요한 정수형 데이터로 변환했다.
입력 값은 공백을 기준으로 구분되어 있었으므로 Split(' ')을 사용하여 배열로 분리한 뒤 각 인덱스를 변수에 할당하였다.
https://learn.microsoft.com/ko-kr/dotnet/csharp/how-to/parse-strings-using-split
String.Split을 사용하여 문자열 나누기 - C#
Split 메서드는 구분 기호 세트에서 분리된 문자열 배열을 반환합니다. 문자열에서 부분 문자열을 추출하는 간편한 방법입니다.
learn.microsoft.com
//백준 10810번 공 넣기
//1번 바구니부터 N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력한다. 공이 들어있지 않은 바구니는 0을 출력
string[] basketIdx = Console.ReadLine().Split(' ');
int N = int.Parse(basketIdx[0]); //보유중인 바구니 개수
int M = int.Parse(basketIdx[1]); //공을 넣을 횟수
int[] basketArr = new int[N]; //바구니 상태 저장배열
//M번 반복
for(int x = 0; x < M; x++)
{
string[] ballLine = Console.ReadLine().Split(' ');
int i = int.Parse(ballLine[0]);
int j = int.Parse(ballLine[1]);
int k = int.Parse(ballLine[2]);
for (int index = i - 1; index <= j - 1; index++)
{
basketArr[index] = k;
}
}
for (int x = 0; x < N; x++)
{
Console.Write(basketArr[x] + " ");
}
i - 1, j - 1을 한 이유는 문제에서 사용하는 바구니 번호(1번부터 시작)와 실제 배열 인덱스(0번부터 시작)를 맞추기 위함이다.
문제에서는 1번 바구니부터 시작하지만, C# 배열은 0번 인덱스부터 시작하기 때문에 이를 보정하기 위해 -1을 해주었다.

오랜만에 문제를 읽으니 한 번에 이해되지 않았다. 하지만 다시 차분히 읽으며 어떤 과정을 통해 값을 출력해야 하는지 생각하다 보니, 자연스럽게 해결 방법을 복기하기 시작했다.
오랜만에 이 과정을 다시 느끼며, 내가 왜 이 길을 선택했는지도 함께 떠올랐다.
개발자를 목표로 하면서도 이 길이 맞는지 계속 고민하게 된다. 이번에는 꽤 긴 시간 동안 흔들렸지만, 오늘 문제를 다시 풀며 아직 포기하지 않았다는 걸 확인했다.
완벽하지 않아도, 멈추지 않고 이어가는 사람이 되고 싶다.
'코딩 테스트 > 백준' 카테고리의 다른 글
| 백준 - [단계별로 풀어보기 1차원 배열] 3052 나머지 (0) | 2026.03.02 |
|---|---|
| 백준 - [단계별로 풀어보기 1차원 배열] 5597 과제 안 내신분? (0) | 2026.03.01 |
| 백준 - [단계별로 풀어보기 1차원 배열] 10813 공 바꾸기 (0) | 2026.02.27 |
| 백준 [단계별로 풀어보기 - 입출력과 사칙연산2] (0) | 2025.03.05 |
| 백준 [단계별로 풀어보기 - 입출력과 사칙연산] (0) | 2025.03.05 |