2026/03/11 3

백준 - [단계별로 풀어보기 문자열] 11718 그대로 출력하기

이번 문제는 먼저 C와 C++로 작성된 다른 사람들의 풀이 코드를 참고해 보았다.다른 사람들의 풀이 과정을 확인해 보니 대부분 EOF(End Of File)를 활용하여 입력이 끝날 때까지 데이터를 처리하는 방식으로 문제를 해결하고 있었다.이를 통해 이 문제의 핵심이 입력의 개수가 정해져 있지 않기 때문에 EOF까지 입력을 처리하는 것이라는 것을 알 수 있었다.C#의 경우 Console.ReadLine() 메서드는 더 이상 입력받을 데이터가 없을 때 EOF 상태가 되어 null을 반환한다.따라서 ReadLine()의 반환 값이 null인지 확인하는 조건을 사용하여 입력이 끝날 때까지 반복하도록 구현할 수 있다. //백준 11718번 그대로 출력하기 string inputData; while((inputD..

백준 - [단계별로 풀어보기 문자열] 2908 상수

이번 문제는 먼저 string으로 입력을 받은 뒤 Split을 사용해 공백을 기준으로 두 개의 숫자를 나누었다.하지만 string 타입은 불변(immutable) 객체이기 때문에 문자열 내부의 문자를 직접 변경할 수 없다. 따라서 문자열을 수정하려면 새로운 문자열을 만들어야 한다.이를 해결하기 위해 문자열을 ToCharArray() 메서드를 이용해 char[] 배열로 변환하였다. char 배열은 각 문자에 인덱스로 접근하여 값을 변경할 수 있기 때문에 원하는 위치의 문자를 교환할 수 있다.문제에서 주어지는 숫자는 항상 3자리 수이므로, 첫 번째 문자와 마지막 문자만 서로 교환하면 숫자를 뒤집을 수 있다.이렇게 두 숫자를 각각 뒤집은 뒤 int로 변환하고, Math.Max 메서드를 사용해 두 값 중 더 큰..

백준 - [단계별로 풀어보기 문자열] 1152 단어의 개수

이번 문제는 문자열을 순회하면서 공백을 기준으로 단어의 개수를 구하는 문제이다.처음에는 문자열의 각 인덱스에 접근하여 공백의 개수를 세는 방식으로 접근했다.하지만 공백의 수와 단어의 수는 항상 일치하지 않는다. 예를 들어 입력이 The Curious Case of Benjamin Button 이라면 단어의 개수는 6개이지만 공백의 개수는 5개이다.이처럼 단순히 공백의 개수를 세는 방식으로는 정확한 단어의 개수를 구할 수 없다.또한 단순히 공백의 개수에 +1을 하는 방식도 좋은 방법이라고 생각하지 않았다.예를 들어 입력 문자열의 앞이나 뒤에 공백이 포함된 경우 공백The Curious Case of Benjamin Button공백 과 같은 입력이 들어올 수 있다. 이 경우 공백의 개수는 실제 단어 수와 전..