[코딩테스트] 프로그래머스 - 항해99클럽 코딩테스트 스터디 16일차 : 카드1

Co-Zi·2024년 11월 13일
0

99클럽TIL

목록 보기
3/15
post-thumbnail

해당 글은 항해99 클럽 코딩테스트 스터디에서 진행된 16일차(20241112) 비기너 문제에 대한 TIL(Today I Learned) 내용입니다.

	문제 출처) https://www.acmicpc.net/problem/2161

문제해결에 활용한 핵심포인트!

1. 가변배열을 위해 ArrayList를 활용하였다.

  • 나의 풀이) List와 ArrayList 활용
    • List arrList = new ArrayList<>();

  • 다른 방식) Queue와 LinkedList, 그리고 poll() 활용
    • Queue arrList = new LinkedList<>();
    • LinkedList는 Queue 인터페이스를 구현하는 것
    • poll() 메서드를 사용하면 remove(0)보다 효율적으로 첫 번째 요소를 제거 가능

2. "배열이 비어질 때까지(배열안에 원소가 존재할 때까지)"에 대한 표현방식

  • 나의 풀이) arrList.size > 0

  • 다른 방식) !arrList.isEmpty()

3. 요소에 대한 삭제 및 추가할 때 사용한 방법

  • 방법1) add, remove, 인덱스의 활용

    • arrList.add(arrList.remove(0));
    • 리스트에 포함된 내장함수인 add와 remove를 동시에 활용하여,
      특정 인덱스에 해당하는 값을 추가와 제거를 동시에 하였다.
      (arrList 맨앞에 있던 숫자를 맨 나중 순서로 하기위해)

  • 방법2) poll() Queue 내장 함수 활용

    • 참고) Queue 메서드
      - offer() / add()
      - poll() / remove()
      - peek() / element()

문제 풀이 외 설정시 주의사항

  • 백준 홈페이지에서 답안을 제출할 때, 큰 틀은 해당 방식을 따르자..
    public class Main {
      public static void main(String[] args) {
         (코드 여기 작성)
      }
    }
    
profile
한걸음 한걸음

0개의 댓글