본문 바로가기

유니코드 스칼라3

[백준] (Swift/Python) 1213번: 펠린드롬 만들기 1213번: 팰린드롬 만들기 풀이 알파벳 26개를 인덱스로 갖는 배열 만들기 대문자 알파벳 26개만 입력값으로 주어지기에, 26개의 배열을 만들어 A부터 Z까지 각각 0~25의 인덱스로 설정하여 알파벳 개수를 요소로 설정한다. 따라서 Swift의 경우에는 asciiValue와 Unicode.Scalar를, Python의 경우에는 ord와 chr를 적절히 설정하여 알파벳에 해당하는 인덱스를 알맞게 접근해야 한다. 문자의 개수가 홀수인 문자는 0 또는 1이어야 한다. 펠린드롬에서 알파벳 개수가 홀수인 문자는 무조건 펠린드롬의 가운데 글자가 되어야 한다. 만약 개수가 홀수인 문자가 2개 이상이면, 해당 글자 모두 정가운데에 위치해야 하는데 그러면 펠린드롬이 성립할 수가 없다. 코드 Swift import Fo.. 2023. 5. 16.
[프로그래머스] (Swift) 시저 암호 - Lv.1 코딩테스트 연습 - 시저 암호 | 프로그래머스 스쿨 풀이 유니코드 스칼라 값과 정수 값을 오가는 것에 애를 많이 먹었다. 공식 문서를 찾아 보려 해도 키워드로 UnicodeScalar, unicodeScalar를 찾으면 문서가 너무 많이 나오고 설명이나 예시 코드가 많지 않아서 애를 많이 먹었다.🥲 결괏값을 빈 문자열로 초기화 공백인 경우 공백을 결괏값에 더하고 continue한다. 다음에는 간격을 더한 알파벳 값이 끝 값(z, Z)을 넘어 초과할 경우 이를 바꿔줘야 하는데, 이게 좀 까다롭다. 초과하지 않는 경우에는 단순히 간격을 더한 값을 결괏값에 더한다. 코드 func solution(_ s:String, _ n:Int) -> String { var result = "" // 문자열의 유니코드 스칼.. 2023. 5. 2.
[프로그래머스] (Swift) 문자열 내림차순으로 배치하기 - Lv.1 📌 문제 코딩테스트 연습 - 문자열 내림차순으로 배치하기 | 프로그래머스 스쿨 📌 풀이 (1) 아스키 값으로 변환하기 아스키 값으로 변환하고 내림차순으로 정렬한 다음 다시 문자열로 변환하는 방법이 있다. 문자열을 한 글자씩 아스키 값(8비트)으로 변환하는 메서드 asciiValue()를 사용한다. 내림차순으로 정렬한다. UnicodeScalar()로 아스키 값을 다시 문자열로 변환하여 한 글자씩 연결한다. (2) sorted() 메서드 이용하기 정말 허무하게도 sorted()와 클로저를 활용하면 한 줄로 표현이 가능하다. 문자열도 정렬이 바로 가능한 줄 몰랐다... 이게 돼? 단, 메서드를 사용하면 Array 형태인데, 이를 다시 형 변환하여 String으로 바꿔주기만 하면 된다. sorted()로 내림.. 2023. 4. 20.
반응형