대칭수를 확인해보는 알고리즘
가운데 숫자를 기준으로 서로 대칭하는 숫자인지 확인
예를 들어,
121 => True
1221 => True
-121 => 121- False
입력받는 값 : n
생각한 과정
1. 문자열로 변경
2. 문자열로 변경한 뒤 중간을 기준으로 substring
3. 앞 배열 , 뒤 배열을 만든 뒤 뒤의 배열을 reverse해서 비교
놓친 과정
1. 가운데 기준으로 같다면 substring을 거치지 않아도 됨
2. 문자열 자체를 하나의 배열로 생각해서 reverse 시켰을 때가 같으면 대칭수
3. 배열 자체를 비교하지 말고, contentEquals를 사용해 내용 자체를 비교
다시 생각한 과정
1. 음수가 되면 -가 붙어서 대칭이 될 수 없으므로 양수인 경우만 로직을 타게
2. 우선 입력받은 값을 charArray로 만들고 , 그걸 뒤집은 결과와 비교
fun compare(n: Int): Boolean {
return if(n>0) n.toString().toCharArray().contentEquals(n.toString().toCharArray().reversedArray()) else false
}
처음 생각한 과정보다 비교도 안되게 코드가 줄어들었다 🥲
'🧐 알고리즘 > ⏳ 알고리즘 풀이' 카테고리의 다른 글
[kotlin] 가장 가까운 같은 글자 (0) | 2023.06.30 |
---|---|
과일 장수 - kotlin (0) | 2023.06.23 |