
이번 문제는 BCL의 String 타입이 제공하는 Length 속성을 알고 있다면 한 줄로 해결할 수 있는 문제이다.
Length 속성은 문자열 객체 내부에 이미 저장되어 있는 문자 개수를 반환하기 때문에, 문자열을 직접 순회하면서 카운트할 필요가 없다.
그렇기에 for문을 돌려 하나씩 카운트하는 방식보다 단순히 제공되는 Length 속성을 사용하는 것이 시간 복잡도 면에서도 더 효율적이다.
하지만 foreach를 이용해 문자열을 순회하는 방식도 직접 구현해보았다.
그 이유는 문자열이 내부적으로 문자들의 집합으로 이루어져 있으며, 인덱스를 통해 접근하거나 반복문을 통해 순회할 수 있다는 것을 다시 확인해보기 위해서였다.
// 백준 2743번 단어 길이 재기
string inputWord = Console.ReadLine();
int counter = 0;
// 문자열을 직접 순회하며 문자 개수 카운트
foreach (char c in inputWord)
{
counter++;
}
// Console.WriteLine(inputWord.Length);
Console.WriteLine(counter);

BCL에서 제공하는 기능을 이해하고 사용하는 것이 얼마나 중요한지 확인할 수 있다. 단순한 반복문으로도 해결할 수 있지만, 이미 제공되는 기능을 사용하는 것이 더 효율적이고 코드 또한 간결해진다.
마지막으로, 실제 개발에서는 Length 속성을 사용하는 것이 가장 효율적이지만, 기본 동작 원리를 이해하기 위해 직접 구현해보는 과정이 의미 있다고 생각한다.
'코딩 테스트 > 백준' 카테고리의 다른 글
| 백준 - [단계별로 풀어보기 문자열] 11654 아스키 코드 (0) | 2026.03.07 |
|---|---|
| 백준 - [단계별로 풀어보기 문자열] 9086 문자열 (0) | 2026.03.07 |
| 백준 - [단계별로 풀어보기 문자열] 27866 문자와 문자열 (0) | 2026.03.05 |
| 백준 - [단계별로 풀어보기 1차원 배열] 1546 평균 (0) | 2026.03.04 |
| 백준 - [단계별로 풀어보기 1차원 배열] 10811 바구니 뒤집기 (0) | 2026.03.03 |