일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- used to
- 라이브 아카데미
- 다이나믹프로그래밍
- 영어 회화
- baekjoon
- BFS
- 일상회화
- 회화기초
- 라이브아카데미
- 백트래킹
- Backtracking Algorithm
- 백준
- 정렬
- 파이썬
- 완전탐색
- python
- 회화
- 관계절
- IF
- 전치사
- 영어기초
- 블록체인
- 영어회화
- Hyperledger Fabric
- 영어회와
- 영어
- 백트래킹 알고리즘
- dfs
- N-Queens
- 알고리즘
- Today
- Total
목록Algorithm (55)
내 맴
문제 ) https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다. 문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다. 모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다. 모든 왼쪽 대괄호("[")는 오른쪽 대괄 www.acmicpc.net [ 풀이 ] ✔ Stack을 사용해서 문제를 풀어준다 1 ) 문장 전체를 for문을 통해 한글자씩 확인 한다 2 ) ✔ 문..
문제 ) https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net [ 풀이 ] ✔ stack을 사용해서 문제를 풀어주기 또한 , ' ( ' 는 -1이라고 하고 , ' ) ' 는 1이라고 설정하고 문..
[ 문제 ] https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ www.acmicpc.net [ 풀이 ] 입력된 숫자가 0인 경우 가장 최근 값을 빼와야하기 때문에 stack을 사용하여 문제를 해결하였다. 입력받은 숫자..
문제 ) https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 오류 해결 ) 다 코딩하고 나서 제출하니깐 시간초과 되었다고 떴다 시간초과 오류 해결법을 알아보니깐 input 대신에 sys모듈의 sys.stdin을 사용해주어야 한다고 한다. - python code import sys input= sys.stdin.readline def menu(command): if command[0]=='pus..
- BFS ( Breath First Search ) : Root Node 방문 후, 그 Node의 후손과 같은 level에 있는 Node들을 먼저 Search - 구현 방법 1. GRAPH 표현해주기 ( python ) : Dictionary 과 List 자료형을 사용해준다 1개의 Node와 연결되어있는 Node들을 모두 다 표현해준다 # 1. GRAPH로 나타내기 - Dictionary 사용 graph={ 'A': ['B','C'], 'B':['A','D','E'], 'C':['A','F','G'], 'D':['B','H', 'I'], 'E':['B','J'], 'F':['C'], 'G':['C'], 'H':['D'], 'I':['D'], 'J':['E'] } 2. BFS 구현하기 ( python )..
- DFS ( Depth First Search ) : Root Node 방문 후, 그 Node의 후손들을 왼쪽에서 오른쪽으로 Search - 구현 방법 1. GRAPH 표현해주기 ( python ) : Dictionary 과 List 자료형을 사용해준다 1개의 Node와 연결되어있는 Node들을 모두 다 표현해준다 2. DFS 구현하기 ( python ) : Stack를 이용하여 구현한다. - 전체 code
문제 ) https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5 www.acmicpc.net 풀이 ) N개의 판을 옮기는 경우 1. 1번째 판 ~ (N-1)번째 판 까지 전부 2번으로 옮겨주기..
문제 ) https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. www.acmicpc.net N=3 일 때, N= 9 일 때, 가로가 x축, 세로가 y축이라고 하면, : X= 1, 4, 7..