본문 바로가기

Algorithm

(2139)
(C++) - 백준(BOJ) 8545번 : Zadanie próbne https://www.acmicpc.net/problem/8545 8545번: Zadanie próbne Napisz program, który odwraca podane słowo trzyliterowe. www.acmicpc.net 눈치껏(?) 문자열 문제였습니다. 📕 Code #include using namespace std; string s; int main(){ cin >> s; for(int i = s.size() - 1; i >= 0; i--) cout
(C++) - 백준(BOJ) 11117번 : Letter Cookies https://www.acmicpc.net/problem/11117 11117번: Letter Cookies The first line of the input consists of a single number T, the number of letter cookie boxes your sister has. Each test case starts with a line describing all the letters in this box, in no particular order. Then follows a line with W, the number of words www.acmicpc.net 문제 지문해석이 헷갈렸던 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 가장 처음에 입력받는 것이 테스트 케이스입니다..
(C++) - 백준(BOJ) 11093번 : Secret Message https://www.acmicpc.net/problem/11093 11093번: Secret Message Jack and Jill developed a special encryption method, so they can enjoy conversations without worrrying about eavesdroppers. Here is how: let L be the length of the original message, and M be the smallest square number greater than or equal to L. Add (M − www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 문제에 나와 있는 입력을 적절히 해준 후 초기화를 해줍니다. 100..
(C++) - 백준(BOJ) 10551번 : STROJOPIS https://www.acmicpc.net/problem/10551 10551번: STROJOPIS The output must consist of eight lines, in each line one integer denoting the number of presses of each finger, excluding thumbs, observed from left to right. www.acmicpc.net 노가다(?) 문제였습니다. 📕 Code #include using namespace std; string typed; int fingerCnt[8]; int main(){ cin >> typed; for(int i = 0; i < typed.size(); i++){ switch(typed[i]){ ..
(C++) - 백준(BOJ) 9947번 : Coin tossing https://www.acmicpc.net/problem/9947 9947번: Coin tossing When I was at school, many, many years ago, we used to play a simple game involving tossing a coin. The first player would call "heads" or "tails", the second would toss the coin. The first player gained a point for every correct call, the second player ga www.acmicpc.net 단순 구현 문제였습니다. 📕 Code #include using namespace std; string a,b; int a..
(C++) - 백준(BOJ) 14888번 : 연산자 끼워넣기 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net backtracking하며 brute force로 푼 문제였습니다. 📕 풀이방법 1. 연산자를 사용할 수 있으면 해당 연산자를 사용하고 개수를 하나 빼줍니다. 연산을 하고 난 이후에는 사용한 개수를 반납해줍니다(더합니다) 2. 호출할 수 있는 모든 함수를 호출해도 n이 11이하이기 때문에 4^10밖에 안되므로 최적화 없이 간단히 해결할 수 있..
(C++) - 백준(BOJ) 1811번 : 카드 놓기 https://www.acmicpc.net/problem/18115 18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net 자료구조 (deque)를 사용한 문제였습니다. 📕 풀이방법 연산을 되감기 한다고 생각해 봅시다. 예제 입력2가 5 2 3 3 2 1 일 때 1 2 3 4 5라는 배열이 완성되어야 합니다. 여기서 답을 구하려면 2 3 3 2 1을 역순으로 배치해야합니다. 1 2 3 3 2를 한다면 원래 배열을 찾을 수 있습니다. 행동을 반대로 한다면 되감기 처럼 원래 상태가 된다고 이해하면 생각하기 수월할 것 같습..
(C++) - 백준(BOJ) 15811번 : 복면산?! https://www.acmicpc.net/problem/15811 15811번: 복면산?! 복면산이란 수학 퍼즐의 일종으로, 어떤 계산식의 각 숫자들을 특정 문자로 바꾸면 각 문자가 어떤 숫자인지 맞추는 퍼즐이다. 대표적으로 SEND+MORE=MONEY가 있다. SEND + MORE ------ MONEY S=9, E=5, N=6, D=7, www.acmicpc.net brute force 문제였습니다. 📕 풀이방법 1. 입력을 받고 나온 알파벳 종류의 개수를 세봅니다. 2. 숫자로 표현하려면 나오는 알파벳의 종류가 10개 이하여야 합니다. 그보다 초과하는 종류에 대해서는 서로 다른 한 자리 수의 번호를 매길 수 없기 때문입니다. 따라서 초과한다면 NO를 출력하고 종료합니다. 3. 나온 알파벳들을 겹치..