스마트 연락처 관리자
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 76번째.
챌린지
중급연락처 목록을 정리하세요. 프로그램은 정수 n을 읽은 다음, n개의 줄을 읽습니다. 각 줄은 연락처 하나를 나타내며, 이름, 이메일, 전화번호가 쉼표로 구분되어 있습니다(각 줄에는 쉼표가 정확히 두 개 있습니다).
연락처를 순서대로 확인하세요.
- 이메일을 소문자로 바꾸고 전화번호에서는 숫자만 남기세요.
(555) 123-4567은5551234567이 됩니다. - 이메일이 유효하지 않으면 해당 연락처를 건너뛰세요. 유효한 이메일에는
@와.가 포함되어야 하며, 공백은 없어야 합니다. - 전화번호의 숫자가 정확히
10개가 아니면 해당 연락처를 건너뛰세요. - 이전에 남긴 연락처와 이메일이 같거나 전화번호가 같으면(정리한 후 기준) 해당 연락처를 건너뛰세요.
남긴 각 연락처를 한 줄에 하나씩 출력하세요. 이름, | , 이메일, | , 전화번호의 숫자 순서로 출력합니다. 마지막으로 Contacts kept: , 남긴 연락처 수, of , n을 출력하세요.
다음 입력의 경우:
3
John Doe,JOHN@email.com,123-456-7890
Jane Doe,jane@email.com,123.456.7890
Bob Smith,invalid.email,12345출력은 다음과 같습니다.
John Doe | john@email.com | 1234567890
Contacts kept: 1 of 3Jane은 전화번호의 숫자가 John의 전화번호와 같으므로 건너뛰고, Bob은 이메일에 @가 없으며 전화번호가 너무 짧으므로 건너뜁니다.
직접 해보기
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
# n개의 연락처를 읽고 정리한 뒤 남긴 연락처를 출력하세요
pass
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러