본문 바로가기
728x90

알고리즘과 자료구조21

BOJ 1918 후위표기식 JAVA 문제 풀이 [gold 4] 자료구조 유형, 백준 1918번 문제(후위 표기식)를 풀어보고자 한다. | 문제 수식은 일반적으로 3가지 표기법으로 표현할 수 있다. 연산자가 피연산자 가운데 위치하는 중위 표기법(일반적으로 우리가 쓰는 방법이다), 연산자가 피연산자 앞에 위치하는 전위 표기법(prefix notation), 연산자가 피연산자 뒤에 위치하는 후위 표기법(postfix notation)이 그것이다. 예를 들어 중위 표기법으로 표현된 a+b는 전위 표기법으로는 +ab이고, 후위 표기법으로는 ab+가 된다. 이 문제에서 우리가 다룰 표기법은 후위 표기법이다. 후위 표기법은 위에서 말한 법과 같이 연산자가 피연산자 뒤에 위치하는 방법이다. 이 방법의 장점은 다음과 같다. 우리가 흔히 쓰는 중위 표기식 같은 경우에.. 2021. 3. 4.
[BOJ] N과M 시리즈 정리 🥨N과 M (1) - 기본 순열 | 🥨N과 M (2) - 기본 조합 | 🥨N과 M (3) - 중복 순열 | 🥨N과 M (4) - 중복 조합 📢 순열과 조합 차이 순열 조합 순서 O X 위치 순서 중요 상관X 표현방법 선택과 배열 선택 판단 {a,b} != {b,a} {a,b} = {b,a} 2021/03/02 - [알고리즘[개념, BOJ]/백트래킹] - [BOJ]#15649 N과 M (1-기본순열) JAVA 문제 풀이 [BOJ]#15649 N과 M (1-기본순열) JAVA 문제 풀이 [silver 3] 백트래킹 유형, 백준 15649번 문제(N과 M 1)를 풀어보고자 한다. | 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까 .. 2021. 3. 2.
[BOJ]#15652 N과 M (4-중복조합) JAVA 문제 풀이 [silver 4] 백트래킹 유형, 백준 15652번 문제(N과 M 4)를 풀어보고자 한다. | 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. | 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) | 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다.. 2021. 3. 2.
[BOJ]#15651 N과 M (3-중복순열) JAVA 문제 풀이 [silver 3] 백트래킹 유형, 백준 15651번 문제(N과 M 3)를 풀어보고자 한다. | 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. (중복 허용) | 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7) | 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. | Code import java.io.*; import java.util.*; //silver3_같은수 중복가능 , 순열 .. 2021. 3. 2.
[BOJ]#15650 N과 M (2-기본조합) JAVA 문제 풀이 [silver 3] 백트래킹 유형, 백준 15650번 문제(N과 M 2)를 풀어보고자 한다. | 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. | 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) | 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. | Code import java.io.*; import java.util.*; //silver3_중복제외 출력_조합 publi.. 2021. 3. 2.
728x90