https://www.acmicpc.net/problem/10988
입력 받은 String 값과 앞과 뒤를 뒤집었을 때 똑같이 읽히는 단어를 찾으면 된다!
보자마자 딱 떠오른 방법은 문자열을 뒤집을 수 있는 reversed()
메서드를 사용해야겠다 라는 생각이 들었다
굉장히 쉬운 문제라 생각하고 바로 성공할 줄 알았지만 오류가 나버렸다.....
해당 오류는 reverseInput 가 String 타입이 아닌 ReversedCollection<String>
타입이기 때문에 input 과 비교를 할 수 없다는 것이다
도대체 왜!!! String 값을 reversed()
메서드를 통해서 앞뒤를 바꿔놨는데 자료형이 달라지는건지....
알고리즘을 swift 준비하면서 가장 어렵고 귀찮고 짜증나는 부분인 자료형 때문에 곤욕스럽다 ㅠㅠㅠㅠㅠㅠ
물론 Apple 에서는 더욱 정확한 타입을 통해서 예기치 않은 타입이 할당되지 않도록 만들어 놨기 때문에 이해하는 부분이지만... 코딩 테스트에 친화적인 언어는 아닌건 확실한거 같다..
결과적으로 같은 타입끼리 비교를 할 수 있으니 뒤집은 값을 String 으로 형변환을 시켜서 통과할 수 있게 되었다!
let input = readLine()!
let reverseInput = String(input.reversed())
print(input == reverseInput ? 1 : 0)
안녕하세요 이번에 코테 언어를 swift로 변경하면서 풀이 비교를 위해 찾다가 좋은 블로그에 오게 되었네요 !! ㅎㅎㅎ 좋은 정보 감사합니다 ~~