-
List 예제 #2Algorithm/List 2021. 12. 25. 14:47728x90
List 예제 #1에 이어서 baekjoon에서 다른 문제도 풀어 보았다.
#2. 2605번 줄 세우기 문제
문제를 보자마자 긴 문제에 어려운 건 아닌가 살짝 긴장하고 문제를 읽기 시작했다. 문제를 정리해보면 0을 뽑으면 그 자리에 그대로 있으면 되고, 다른 숫자를 뽑으면 뒤에서 부터 뽑은 숫자만큼 앞으로 가면된다고 한다. 단순히 ArrayList를 구현하고 뒤에서 부터 세어준다는 것만 염두하면 될 것 같았다.
list.size() : list의 길이
get(index) : 제거는 하지 않고 해당 index의 수를 뽑아옴
add(num, index) : index에 num을 추가
처음에 푼 방식은 if else 구문을 사용해서 0을 뽑으면 그 자리에 그대로 추가(add), 다른 수를 뽑으면 총 list의 길이에서 해당 숫자 만큼 빼주어 뒤에서 부터 담기게 했다. 그리고 for문과 get() 메소드를 사용하여 담긴 리스트를 다 출력해주면 끝.
하지만, 자꾸 보다보니 굳이 0일때를 지정할 필요가 없다... 첫 번째 학생은 무조건 0을 부여받는다고 하기 때문!!!
if else 문을 다 지우고 list.size()에서 num을 빼주고 추가하는 구문만 남겼다. 이렇게 완성!!
728x90'Algorithm > List' 카테고리의 다른 글
배열과 List를 활용한 수 찾기 (0) 2021.12.31 List 개념 및 예제#1 (0) 2021.12.25