이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

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

  • 2022.12.08 18:40
  • Algorithm/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/12932

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 문제

 

2. 풀이

1) 자연수 n을 String으로 변환하여 풀기

- String.valueOf을 활용하여 자연수를 문자열로 변경 후 charAt()을 활용하여 answer 배열에 더해줍니다.

 

*소스코드

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
    public int[] solution(long n) {
        String s = String.valueOf(n);
        int[] answer = new int[s.length()];
 
        for (int i = 0; i < s.length(); i++) {
            answer[s.length() - i - 1] = s.charAt(i) - '0';
        }
 
        return answer;
    }
}
Colored by Color Scripter
cs

 

2) list를 활용하여 풀기

- n % 10 : n의 일의 자리 확인

- n / 10 : n의 일의자리가 제거됨과 동시에 십의 자리가 일의 자리가 되는 것을 확인

- n이 0이 될 때까지 반복하며 n을 뒤에서부터 한 자리씩 리스트에 저장

- 리스트의 내용을 answer 배열로 넣어 return

 

*소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
    public int[] solution(long n) {
        List<Integer> list = new ArrayList<>();
 
        while (n != 0) {
            list.add((int)(n % 10));            // n % 10 => n의 1의 자리수
            n /= 10;                            // n의 1의 자리가 제거되가 십의 자리가 일의 자리가 됨
        }
 
        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
 
        return answer;
    }
}
Colored by Color Scripter
cs

 

3. 느낀 점 및 추가사항

자연수를 뒤집어서 출력한다는 내용을 이해하고 접근하면 쉽게 풀 수 있는 문제였다.

일반적으로 정수형 변수인 n을 String으로 변환하여 해결하지만 list로도 풀 수 있다는 것을 알았다.

'Algorithm > 프로그래머스' 카테고리의 다른 글

[프로그래머스]-최소 직사각형  (0) 2022.12.28
[프로그래머스]부족한 금액 계산하기  (0) 2022.12.27
[프로그래머스]2016년  (0) 2022.12.23
[프로그래머스]콜라츠 추측  (0) 2022.12.13
[프로그래머스]가운데 글자 가져오기  (0) 2022.12.08

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [프로그래머스]부족한 금액 계산하기

    [프로그래머스]부족한 금액 계산하기

    2022.12.27
  • [프로그래머스]2016년

    [프로그래머스]2016년

    2022.12.23
  • [프로그래머스]콜라츠 추측

    [프로그래머스]콜라츠 추측

    2022.12.13
  • [프로그래머스]가운데 글자 가져오기

    [프로그래머스]가운데 글자 가져오기

    2022.12.08
다른 글 더 둘러보기

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • git commit
  • java
  • 클린코드
  • 주간에세이
  • 개발자 현실
  • 자바 기초
  • 자료구조
  • 자바 변수

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바