프로그래머스 자연수 뒤집어 배열로 만들기

2023. 12. 15. 15:02· 코딩테스트

 

 

내 풀이

class Solution {
    fun solution(n: Long): ArrayList<Int> {
        var answer = arrayListOf<Int>()
        var x = n
        while(x > 0){
            var a :Int = (x % 10).toInt()
            answer.add(a)
            x /= 10
        }
        return answer
    }
}

 

 

 

다른 사람 풀이

class Solution {
    fun solution(n: Long): IntArray {
        return n.toString().reversed().map { it.toString().toInt() }.toIntArray()
    }
}

처음 보는 것들이 나왔다.

.reversed()

.map{}

: 각 원소를 원하는 형태로 변환해서 새 컬렉션을 만든다.

 

 

 

n.toString().reversed()

 

 

 

 

.map 함수를 적용하고 type을 확인해보았다.

arryList 로, 그 안에는 '12345'가 각각 하나의 원소로 나뉘어져 들어가있다.

 

 

요구사항대로 IntArray로 만들기 위해 toInt 를 적용해보았는데 안된다.

map 안의 it 은 기본적으로 Char 타입이라고 한다.

 

 

이 Char 타입을 Int 로 바로 변환시킬 수 없는 이유

: Char 은 기본적으로 UTF-16 으로 인코딩 되고 숫자로 변환될 때(ex.toInt()) 해당 코드에 해당하는 숫자로 디코딩된다. 

 

*UTF : 유니코드라는 문자 집합을 UTF라는 문자열 인코딩 규칙으로 변경  사람의 언어 <-> 기계의 언어

UTf-8 : 8bit를 사용  UTF-16 : 16bit를 사용

현재 인터넷에서 가장 많이 쓰이는 UTF-8로 UTF-16 으로 인코딩 되는 Char 을 숫자로 변환하니 

위와 같이 출력된다.

 

 

그러므로 Char 타입인 map 안의 원소들을 String 으로 변환시킨 다음 Int 로 변환시키고

요구사항에 맞도록 toIntArray 해준다.

 

'코딩테스트' 카테고리의 다른 글

프로그래머스 정수 내림차순으로 배치하기  (0) 2023.12.19
프로그래머스 정수 제곱근 판별  (0) 2023.12.18
프로그래머스 x만큼 간격이 n개의 숫자  (2) 2023.12.14
프로그래머스 나머지가 1이 되는 수 찾기  (0) 2023.12.13
프로그래머스 약수의 합  (1) 2023.12.12
'코딩테스트' 카테고리의 다른 글
  • 프로그래머스 정수 내림차순으로 배치하기
  • 프로그래머스 정수 제곱근 판별
  • 프로그래머스 x만큼 간격이 n개의 숫자
  • 프로그래머스 나머지가 1이 되는 수 찾기
다시은
다시은
🔥
다시은
재은로그
다시은
전체
오늘
어제
  • 분류 전체보기 (127)
    • 코딩테스트 (40)
    • Language (2)
      • JAVA (2)
      • Kotlin (0)
      • TypeScript (0)
    • SQL (1)
    • 인프라 (1)
    • 왕초보일지 (77)
    • 회고 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 문자열변환
  • SQL문법
  • mysql
  • Kotlin
  • sql
  • googleapis
  • 스프레드시트

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
다시은
프로그래머스 자연수 뒤집어 배열로 만들기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.