전체 글(724)
-
[백준/BOJ] 백준 1701번 : Cubeditor
www.acmicpc.net/problem/1701 1701번: Cubeditor Cubelover는 프로그래밍 언어 Whitespace의 코딩을 도와주는 언어인 Cubelang을 만들었다. Cubelang을 이용해 코딩을 하다보니, 점점 이 언어에 맞는 새로운 에디터가 필요하게 되었다. 오랜 시간 고생한 www.acmicpc.net KMP알고리즘의 pi를 이용해서 문제를 해결하였다. 코드 #include #include #include #include using namespace std; //알고리즘 문제해결 전략2 책 KMP 알고리즘 공부 실습 //KMP알고리즘의 pi를 이용해서 문제를 해결 int n; string input; int Solve(string check_string) { vector ..
2021.02.18 -
[백준/BOJ] 백준 1305번 : 광고
www.acmicpc.net/problem/1305 1305번: 광고 세준이는 길 한가운데에서 전광판을 쳐다보고 있었다. 전광판에는 광고가 흘러나오고 있었다. 한참을 전광판을 쳐다본 세준이는 이 광고가 의미하는 것이 무엇인지 궁금해지기 시작했다. 전광 www.acmicpc.net KMP알고리즘의 pi를 구해서 문제를 해결했다. 만들어진 pi를 이용하여, 전체 문자열에서 접두사와 접미사가 같은 최대 문자열의 접두사 문자열 하나 제거한 문자열의 길이를 출력했다. 코드 #include #include #include #include using namespace std; //알고리즘 문제해결 전략2 책 KMP 알고리즘 공부 실습 //KMP알고리즘의 pi를 구해서 문제를 해결 int L; string input;..
2021.02.18 -
[백준/BOJ] 백준 5670번 : 휴대폰 자판
www.acmicpc.net/problem/5670 5670번: 휴대폰 자판 휴대폰에서 길이가 P인 영단어를 입력하려면 버튼을 P번 눌러야 한다. 그러나 시스템프로그래밍 연구실에 근무하는 승혁연구원은 사전을 사용해 이 입력을 더 빨리 할 수 있는 자판 모듈을 개발 www.acmicpc.net 트라이를 이용하여 문제를 해결했다. 트라이 구조를 만들고, 각 단어마다 버튼을 누르는 개수를 셀 때, 트라이 구조를 만들 때 저장한 children_num을 이용한다. children_num이 1일때 해당 위치에서 끝나는 단어가 저장되어 있지 않다면 다음 글자로 자동 입력할 수 있다. 코드 #include #include #include #include using namespace std; //트라이 알고리즘을 이용..
2021.02.18 -
[백준/BOJ] 백준 1786번 : 찾기
www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net KMP알고리즘을 이용하여 문제를 해결했다. 코드 #include #include #include #include using namespace std; string t, p; vector pi(1000000, 0); vector ret; //KMP알고리즘을 이용한다 //알고리즘 문제해결 전략2 책 KMP알고리즘 공부 실습 void Make_pi() { int start = 1; int matched = 0;..
2021.02.18 -
[백준/BOJ] 백준 20056번 : 마법사 상어와 파이어볼
www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 구조체로 파이어볼의 정보를 나타냈고, ball_list를 통해 파이어볼의 정보를 저장하여 문제를 풀었다. 코드 #include #include #include #include #include #include #include #include using namespace std; int n, m, k; struct ball { int r; //행 int c; //열 int m..
2021.02.09 -
[백준/BOJ] 백준 20055번 : 컨베이어 벨트 위의 로봇
www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 회전하는 함수, 로봇이 움직이는 함수, 새로운 로봇을 올리는 함수를 만들고 Check함수를 통해 내구도가 0인 칸의 개수를 셌다. belt에 벨트의 내구도를 저장하였고, check_robot에 해당 위치에 로봇이 있는지 체크하고, robot에 로봇의 위치를 저장했다. 코드 #include #include #include #include #include #include #include #in..
2021.02.09