You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
record의 문장을 하나씩 보며 space를 기준으로 나눠주었다.
Enter / Leave / Change로 나뉘게 되는 text[0]을 switch - case 문으로 나눴다.
Enter 시, id에 해당하는 text[1]와 닉네임에 해당하는 text[2]를 member dictionary에 넣었다.
그리고 id와 enter 텍스트를 arr에 추가했다.
(생각해 보니까 굳이 enter 텍스트를 여기서 넣었어야 하나 싶다.. 걍 result 단계에서 넣어줄걸..)
Leave 시, id와 leave 텍스트를 arr에 추가했다. member를 건들지 않은 것은 여기서는 id가 바뀌지 않고, 앞선 Enter가 없다면 Leave가 발생할 수 없는데 Enter에서 이미 member를 건드리기 때문!
Change 시, result에 출력되는 것이 없기 때문에 arr에 추가할 필요는 없고, 이름이 바뀌었을 때 member의 id를 확인해서 바꿔줘야 하기 때문에 member id에 이름을 교체해주었다.
🙋🏼 문제
오픈채팅방
💡 풀이
쉬워보이는데 생각보다 품이 많이 든 문제!
record의 값을 전부 확인한 후 (id 체크), 출력을 위해서 다시 id와 leave / enter 체크를 해줘야 한다.
물론 실제라면 UI에서 일부만 확인해서 바꿔줘야겠지만.. (어케함!)coding_test_practice/coding_test_practice/240702_42888.swift
Lines 11 to 15 in 05f2b45
enter, leave 시의 텍스트를 따로 저장해주었고, member dictionary에는 id와 닉네임을 저장할 수 있도록 했다.
arr는 두번째 단계에서 id와 leave / enter 확인해줄 때 사용해주기 위함이고, result는 결과 array
coding_test_practice/coding_test_practice/240702_42888.swift
Lines 17 to 30 in 05f2b45
record의 문장을 하나씩 보며 space를 기준으로 나눠주었다.
Enter / Leave / Change로 나뉘게 되는 text[0]을 switch - case 문으로 나눴다.
그리고 id와 enter 텍스트를 arr에 추가했다.
(생각해 보니까 굳이 enter 텍스트를 여기서 넣었어야 하나 싶다.. 걍 result 단계에서 넣어줄걸..)
coding_test_practice/coding_test_practice/240702_42888.swift
Lines 32 to 38 in 05f2b45
arr를 forEach로 확인해 주면서, result에 해당 id에 해당하는 이름과 enter / leave 텍스트를 추가해주었다.
그리고 마지막에
return result
로 답 반환처음 채점 때 if let 문 안 써서 테스트 케이스 하나가 날라감..
상여자식 코드 (강제 언래핑) 쓰려다가 말았다 ㅋㅋ;;The text was updated successfully, but these errors were encountered: