
Do it! 알고리즘 코딩 테스트 - 자바 편 의 내용을 담고 있습니다.
✨ 문제에 주어진 데이터 형태 & 사용해햐 하는 알고리즘에 따라 적절한 자료구조 사용하기 ✨
🎢 배열과 리스트
1. 배열의 특징
- 인덱스 사용이 쉬움
- 값 삽입, 삭제는 어려움 (이동이 필요함)
- 크기를 선언할 때 지정할 수 있고, 한 번 선언하면 크기를 늘리거나 줄일 수가 없음
- 구조가 간단해서 많이 사용함
2. 리스트
- 인덱스가 없어서 head pointer부터 순서대로 접근해야해서 접근 속도가 느림
- 포인터로 연결되어 있어, 삽입과 삭제 속도가 빠름
- 크기가 변하기 쉬운 데이터를 다룰 때 적절
- 포인터를 사용하여 배열보다 구조가 복잡
문제Tip
- 로직을 바로 구현하지 말고, 문제를 꼼꼼하게 파악한 후에 방향을 설정해라!
- 주어진 N의 범위를 확인하고 변수형을 정해라. (int, long, string)
- 아스크 코드를 활용하면 문자형(char)을 쉽게 숫자형(int)으로 변환할 수 있다.
- 슈도코드를 작성해라!
슈도코드 예시
- N값 입력받기
- 길이 N의 숫자를 입력받아 String형 변수 sNum에 저장하기
- sNum을 다시 char[]형 변수 cNum에 변환하여 저장하기
- int형 변수 sum 선언하기
- for (cNum 길이만큼 반복하기)
{ 배열의 각 자리값을 정수형으로 변환(아스키코드 사용)하여 sum에 누적하기 }
- sum 출력하기
- 수학적 계산이 필요한 경우, 먼저 손으로 풀어보고 간단하게 변환하는 과정을 거쳐라!
- 100.0 처럼, 소수점이 있는 실수 곱하거나 나누면 간단하게 정수형을 실수형으로 변환할 수 있다.
🛒 구간 합
🗑️ 스택과 큐