본문 바로가기
728x90
반응형

LinkedList3

자연수 뒤집어 배열로 만들기 (자료형 처리 / linkedlist / while) 문제 출처 - 프로그래머스 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 return 12345 [5,4,3,2,1] %10 을 해서 나머지를 구하고, /10을 해서 자릿수를 하나씩 줄여나간다. 그리고 0이 될 때까지 자릿수 줄임을 반복하기 위한 while문을 바로 생각해 낼 수 있었다. 하지만 한 가지 함정이, 이 문제 인풋이 long 타입으로 들어오는데 int로 리턴을 뱉어야 한다. long int 간의 변환을 위해 여러 방법을 사용해봤으나 먹히지 않았다. 대체 왜지..? 이 문제의 의도한 바가 그게 아닌거였나,,, 그래서.. 2022. 12. 13. 21:41
최댓값의 인덱스 구하기 출처 ) 프로그래머스 문제 설명 주어진 입력중 최대값을 구하고, 최대값이 이 위치하는 index 값의 목록을 반환하세요. 입력: [1, 3, 5, 4, 5, 2, 1] 입력된 목록의 최대값은 5입니다. 5와 동일한 값을 가진 위치는 3번째, 5번째 위치 입니다. 이 위치에 해당하는 index는 [2, 4] 입니다. 출력: [2, 4] 입출력 예 입력: [1, 3, 5, 4, 5, 2, 1] 출력: [2, 4] 👉🏻 위와 같습니다. 입력: [3, 6, 10, 1, 7, 2, 4, 6, 10, 9] 출력: [2, 8] 👉🏻 최대값 10이 위치하는 곳은 3번째, 9번째 입니다. 이 위치의 index값은 2, 8입니다. package programmers; class Solution { public int[] .. 2022. 10. 2. 23:09
Linkedlist에 대해 알아보자 지난 시간에 살펴본 Arraylist에는 치명적인 단점이 하나 있습니다. 놀이기구를 타려고 줄을 서 있는데, 한 명이 새치기를 하게 되면 그 뒤에 서 있던 모든 사람이 한 칸씩 뒤로 순서가 밀리는 비효율이 발생하게 됩니다. 이처럼, 배열 사이에 새로운 값을 추가해 넣으려면 너무 많은 메모리 낭비가 발생합니다. Linkedlist(연결 리스트)는 이런 단점을 해결하기 위해 탄생했습니다. (가독성을 위해 줄을 맞추긴 했지만) 저장된 요소가 비순차적으로 분포할 수 있고, 이들을 링크로 연결합니다. 저장할 값과 함께 뒤에 올 값의 메모리 번호를 노드에 저장하여, 두 요소를 굳이 붙여 놓지 않아도 다음 값의 메모리 번호만 잊지 않는다면 서로를 소환해서 연결할 수 있습니다. 새로운 값의 추가나 제거도 Arrayli.. 2021. 8. 24. 15:30
728x90
반응형