[Algorithm] 자료구조

jubby·2023년 12월 14일

Do it! 알고리즘 코딩 테스트 - 자바 편 의 내용을 담고 있습니다.



✨ 문제에 주어진 데이터 형태 & 사용해햐 하는 알고리즘에 따라 적절한 자료구조 사용하기 ✨



🎢 배열과 리스트

1. 배열의 특징

  • 인덱스 사용이 쉬움
  • 값 삽입, 삭제는 어려움 (이동이 필요함)
  • 크기를 선언할 때 지정할 수 있고, 한 번 선언하면 크기를 늘리거나 줄일 수가 없음
  • 구조가 간단해서 많이 사용함

2. 리스트

  • 인덱스가 없어서 head pointer부터 순서대로 접근해야해서 접근 속도가 느림
  • 포인터로 연결되어 있어, 삽입과 삭제 속도가 빠름
  • 크기가 변하기 쉬운 데이터를 다룰 때 적절
  • 포인터를 사용하여 배열보다 구조가 복잡

문제Tip

  1. 로직을 바로 구현하지 말고, 문제를 꼼꼼하게 파악한 후에 방향을 설정해라!
  2. 주어진 N의 범위를 확인하고 변수형을 정해라. (int, long, string)
  3. 아스크 코드를 활용하면 문자형(char)을 쉽게 숫자형(int)으로 변환할 수 있다.
  4. 슈도코드를 작성해라!

    슈도코드 예시

    • N값 입력받기
    • 길이 N의 숫자를 입력받아 String형 변수 sNum에 저장하기
    • sNum을 다시 char[]형 변수 cNum에 변환하여 저장하기
    • int형 변수 sum 선언하기
    • for (cNum 길이만큼 반복하기)
      { 배열의 각 자리값을 정수형으로 변환(아스키코드 사용)하여 sum에 누적하기 }
    • sum 출력하기
  5. 수학적 계산이 필요한 경우, 먼저 손으로 풀어보고 간단하게 변환하는 과정을 거쳐라!
  6. 100.0 처럼, 소수점이 있는 실수 곱하거나 나누면 간단하게 정수형을 실수형으로 변환할 수 있다.


🛒 구간 합



🗑️ 스택과 큐

profile
신입 개발자 쥬비의 기술 블로그 입니다.

0개의 댓글