알고리즘 코딩테스트 준비 !
❤ 회문 문자열 검사N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열)이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력하는 프로그램을 작성한다.단 회문을 검사할 때 대소문자를 구분하지 않습니다.▣ 입력설명첫 줄에 정수 N
숫자만 추출
🎈 카드 역배치(정올 기출)1부터 20까지 숫자가 하나씩 쓰인 20장의 카드가 아래 그림과 같이 오름차순으로 한 줄로 놓여있다. 각 카드의 위치는 카드 위에 적힌 숫자와 같이 1부터 20까지로 나타낸다. 이제 여러분은 다음과 같은 규칙으로 카드의 위치를 바꾼다: 구간
🎈 두 리스트 합치기 오름차순으로 정렬이 된 두 리스트가 주어지면 두 리스트를 오름차순으로 합쳐 출력하는 프로 그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 첫 번째 리스트의 크기 N(1<=N<=100)이 주어집니다. 두 번째 줄에 N개의 리스트 원소가 오름차순
🎈 수들의 합N개의 수로 된 수열 A1, A2, …, AN 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 Ai+Ai+1+…+Aj-1+Aj가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오.▣ 입력설명첫째 줄에 N(1≤N≤10,000), M(1≤M≤300,
🎈 격자판 최대합55 격자판에 아래롸 같이 숫자가 적혀있습니다. 10 13 10 12 1512 39 30 23 1111 25 50 53 1519 27 29 37 2719 13 30 13 19NN의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가
🎈 사과나무(다이아몬드)현수의 농장은 N\*N 격자판으로 이루어져 있으며, 각 격자안에는 한 그루의 사과나무가 심어저 있다. N의 크기는 항상 홀수이다. 가을이 되어 사과를 수확해야 하는데 현수는 격자판안의 사과를 수확할 때 다이아몬드 모양의 격자판만 수확하고 나머지
🎈 곳감(모래시계)현수는 곳감을 만들기 위해 감을 깍아 마당에 말리고 있습니다. 현수의 마당은 N\*N 격자판으로 이루어져 있으며, 현수는 각 격자단위로 말리는 감의 수를 정합니다. 그런데 해의 위치에 따라 특정위치의 감은 잘 마르지 않습니다. 그래서 현수는 격자의
🎈 봉우리지도 정보가 N\*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화
🎈 스토쿠 검사스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다음을 보자.위 그림은 스도쿠를 정확하게 푼 경우이다
❤ 격자판 회문수1부터 9까지의 자연수로 채워진 7\*7 격자판이 주어지면 격자판 위에서 가로방향 또는 세로방향으로 길이 5자리 회문수가 몇 개 있는지 구하는 프로그램을 작성하세요.회문수란 121과 같이 앞에서부터 읽으나 뒤에서부터 읽으나 같은 수를 말합니다.빨간색처럼
이진탐색 연습
이진탐색을 활용하는 결정알고리즘 문제. 이진탐색은 어떨 때 활용해야 하는지 생각.
이진탐색 활용 결정 알고리즘
결정 알고리즘. 이진탐색 활용
그리디 알고리즘
그리디
그리디
그리디
그리디, 증가수열 만들기
역수열 - 그리디. 정렬된 수를 삽입한다고 생각
스택 알고리즘
스택 알고리즘
스택 - 후위 연산
스택
큐 문제. 앞에서 몇개빼서 뒤로 넘길 때. 즉 순서를 유지하면서 무언가를 해야할 때 고민해보기
큐
큐, 아니면 리스트로 앞에서부터 꺼내서 순서 맞는지 비교하면 해결 가능.
해쉬. 사실 이 문제는 그냥 in만 써도 해결가능..
딕셔너리 활용 (해쉬 스타일이라고 생각)
리스트로 대체
이진 트리
최대힙
재귀함수 연습, 백트랙킹 정의
DFS - 부분집합 구하기
DFS - 인덱스 단위로 접근하면서 속하냐, 속하지 않느냐 2가지 계속 나뉘는 문제
DFS - 중복 순열
DFS - 종료조건 확인
DFS - 순열
DFS - 순열 활용 (파스칼)
DFS - 조합 구하기
DFS - 조합 활용
DFS - 경로 탐색 ( 가중치 방향그래프)
DFS - 부분집합 유형 문제
DFS - 부분 집합 유형 + 사소한 조건
DFS - 부분집합 유형. 상태트리가 왼오,2가지만 존재하지는 않는다.
DFS - 상태트리
DFS - 부분집합 상태트리 유형
DFS - 부분집합 유형. 근데 거기서 한번 더 쪼개야 했음. (한 자리 or 두 자리 써서 만들 것인지..)
BFS - 최단거리
BFS - 2차원 그래프 최단거리 유형
DFS - 경로의 수, 경로 개수는 DFS로 풀어도 돼 출발점 - 끝점 까지 쭉 가는 거라서,,,
DFS - 경로 수
DFS - 연결요소 문제
BFS - 연결요소 갯수 문제
BFS - 연결요소 갯수의 최댓값
BFS - 최단거리
DFS - 원하는 경로 찾기 + 시작점이 아닌 도착점에서도 출발할 수 있다는거 생각하기
DFS(조합) + 다른 알고리즘 활용. 이런 유형 자주 나온다 (조합 + @)
dp - 기본 유형 익히기
dp - 탑다운 연습
dp - 최대 부분 증가수열(LIS)
dp - 최장 부분 증가수열 활용
dp - 최장 부분 증가수열 활용
dp 기본 연습
dp - 냅색 알고리즘 최적화
dp - 냅색 알고리즘
dp - 냅샋 알고리즘 중복 x
플로이드 워셜 활용
위상정렬
플로이드 워셜 알고리즘