연습 - 메서드에서 부울 반환
부울 반환 형식이 있는 메서드는 단순할 수 있지만 코드를 통합하는 데 유용합니다.
bool 값을 반환하는 메서드를 호출하여 if 문, 변수 선언 등 어디에서나 데이터 입력을 평가할 수 있습니다. 이 연습에서는 부울 반환 형식 메서드를 만들고 사용하는 경험을 얻을 수 있습니다.
부울을 반환하는 메서드 만들기
코딩 면접의 후보라고 가정해 보겠습니다. 면접관이 여러 단어가 팔린드롬(회문)인지 여부를 확인하는 프로그램을 작성하도록 요청합니다. 팔린드롬은 앞에서부터 읽으나 뒤에서부터 읽으나 같은 단어입니다. 예를 들어 racecar는 팔린드롬입니다. 그럼 시작하겠습니다.
Visual Studio Code 편집기에서 이전 연습의 기존 코드를 모두 삭제합니다.
편집기에 다음 코드를 입력합니다.
string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"}; Console.WriteLine("Is it a palindrome?"); foreach (string word in words) { Console.WriteLine($"{word}: {IsPalindrome(word)}"); }이 코드는 일부 테스트 사례를 설정하고
IsPalindrome이라는 메서드를 참조합니다. 단어 및 메서드의IsPalindrome출력은Console.WriteLine문에 인쇄됩니다.새 빈 코드 줄을 입력하고 다음 코드를 입력하여
bool메서드를 만듭니다.bool IsPalindrome(string word) { return true; }단어가 팔린드롬인지 확인하는 방법을 생각해 보세요.
한 가지 방법은 단어의 첫 글자와 마지막 문자를 비교하는 것입니다. 두 문자가 일치하는 경우 단어의 두 번째 문자와 마지막에서 두 번째 문자를 비교합니다. 단어의 중간에 도달하면 모든 문자가 비교되고 일치된 것입니다. 문자가 일치하지 않으면 해당 단어는 팔린드롬이 아닙니다.
IsPalindrome메서드를 다음 코드로 업데이트합니다.bool IsPalindrome(string word) { int start = 0; int end = word.Length - 1; while (start < end) { if (word[start] != word[end]) { return false; } start++; end--; } return true; }start및end변수는 문자열의 첫 번째 문자와 마지막 문자를 가리킵니다. 단어의 중간에 도달하는 경우, 즉start및end가 동일한 문자를 가리키거나 서로 교차하는 경우 루프가 중단됩니다. 포인터는 일치 항목이 있을 때마다 안쪽으로 이동합니다. 일치 항목이 없으면 메서드는 종료되고false를 반환합니다.이제 메서드는 단어가 팔린드롬인지 확인하고 그 결과에 따라
true또는false를 반환합니다.
작업 확인
이 작업에서는 통합 터미널에서 애플리케이션을 실행하고 코드가 올바르게 작동하는지 확인합니다. 이제 시작하겠습니다.
Ctrl + S를 사용하거나 Visual Studio Code 파일 메뉴를 사용하여 작업을 저장합니다.
필요한 경우 Visual Studio Code의 통합 터미널 패널을 엽니다.
탐색기 패널에서 TestProject 폴더 위치에서 터미널을 열려면 TestProject를 마우스 오른쪽 단추로 클릭한 다음 통합 터미널에서 열기를 선택합니다.
터미널 명령 프롬프트에서 dotnet run을 입력합니다.
코드가 다음 출력을 생성하는지 확인합니다.
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: True코드가 다른 결과를 표시하는 경우 코드를 검토하여 오류를 찾고 업데이트해야 합니다. 코드를 다시 실행하여 문제가 해결되었는지 확인합니다. 코드가 예상 결과를 생성할 때까지 코드를 계속 업데이트하고 실행합니다.