알고리즘
-
백준 3059번: 등장하지 않는 문자의 합문자열(String) 2018. 7. 20. 17:54
https://www.acmicpc.net/problem/3059 1. 문제알파벳 대문자로 구성되어있는 문자열 S가 주어졌을 때, S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 구하는 프로그램을 작성하시오. 문자열 S가 “ABCDEFGHIJKLMNOPQRSTUVW” 일 때, S에 등장하지 않는 알파벳 대문자는 X, Y, Z이다. X의 아스키 코드 값은 88, Y는 89, Z는 90이므로 이 아스키 코드 값의 합은 267이다. 2. 알고리즘키워드 - 문자열접근법 - 중복되는 알파벳이 들어 올수 있다는 것에 유의 하자. 3. 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051..
-
백준 2957번: 창영이의 일기장문자열(String) 2018. 7. 19. 20:41
https://www.acmicpc.net/problem/2954 1. 문제창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다. 일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다. 또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i','o','u')의 다음에 'p'를 하나 쓰고, 그 모음을 하나 더 쓴다. 예를 들어, "kemija" 는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다. 창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 프로그램을 작성하시오. 2. 알고리즘키워드 - 문자열 3. 코드 12345678910111213141516171819202122232425262728293..
-
백준 2145번: 숫자 놀이구현(Implementation) 2018. 7. 19. 20:26
https://www.acmicpc.net/problem/2145 1. 문제초등학생인 도겸이는 숫자를 좋아한다. 어느날 도겸이는 숫자 책을 보다가 간단한 놀이를 하나 생각해냈다. 숫자 놀이의 규칙은 다음과 같다. 주어진 숫자의 각 자릿수를 더한다.결과가 한 자릿수가 될 때 까지 규칙1을 반복한다.예를들어, 숫자 673에 규칙을 적용해보면 결과는 7이 된다 ; 6 + 7 + 3 = 16, 1 + 6 = 7 도겸이는 당신과 함께 숫자놀이를 하고싶어한다. 도겸이가 주는 숫자들을 풀어보자. 2. 알고리즘키워드 - 구현, 수학 3. 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#i..
-
백준 1977번: 완전제곱수정수론(Number theory) 2018. 7. 19. 19:46
https://www.acmicpc.net/problem/1977 1. 문제M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최소값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 완전제곱수는 64, 81, 100 이렇게 총 3개가 있으므로 그 합은 245가 되고 이 중 최소값은 64가 된다. 2. 알고리즘키워드 - 수학접근법 - 입력 받은 수의 root 값을 구하고 cand 라는 변수에 저장한다. 다시 cand 변수를 제곱 하여, 현재 i 와 같은지 판단 한다.같으면 제곱수가 된다. 3. 코드 123456789101112131415161718192021222324252627282930313233343..
-
백준 1233번: 주사위구현(Implementation) 2018. 7. 19. 19:02
https://www.acmicpc.net/problem/1233 1. 문제지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2 ≤ 20), S3(2 ≤ S3 ≤ 40)개의 면이 있다. (실제로는 주사위가 6개의 면이 있는 것이 정상이지만 특별한 주사위라 생각하자.) 문제는 세 개의 주사위를 동시에 던졌을 때 가장 높은 빈도로 나오는 세 주사위의 합을 구하는 것이다. 2. 알고리즘키워드 - 구현, 배열 3. 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424..
-
백준 1712번: 손익분기점정수론(Number theory) 2018. 7. 19. 17:58
https://www.acmicpc.net/problem/1712 1. 문제초등학교 6학년 수학문제 2. 알고리즘키워드 - 수학 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX_SIZE 100#define INF 0x7fffffff#define CENDL "\n"#define ll long long int main() { cin.tie(..
-
백준 1871번: 좋은 자동차 번호판구현(Implementation) 2018. 7. 19. 17:30
https://www.acmicpc.net/problem/1871 1. 문제앨버타의 자동차 번호판은 ABC-0123 (세 글자, 네 숫자)와 같이 두 부분으로 나누어져 있다. 좋은 번호판은 첫 번째 부분의 가치와 두 번째 부분의 가치의 차이가 100을 넘지 않는 번호판이다. 글자로 이루어진 첫 번째 부분의 가치는 글자를 26진법 숫자처럼 계산하다. (각 자리가 [A..Z]) 예를 들어, "ABC"의 가치는 28 (0*26^2 + 1*26^1 + 2*26^0)이 된다. "ABC-0123"은 |28 - 123| > n; while(n--) { string s; cin >> s; string alphabet = s.substr(0,3); int alpha_int = transfrom_digit(alphabet..
-
백준 1526번: 가장 큰 금민수시뮬레이션(Simulation) 2018. 7. 19. 16:36
https://www.acmicpc.net/problem/1526 1. 문제4와 7 로 이루어진 숫자중 가장 큰 숫자를 찾는 문제 2. 알고리즘키워드 - 시뮬레이션접근법 - 입력되는 N 숫자에서 4와 7로 이루어진 최소 값과, 최대 값을 구하여 검색 범위를 좁혀서 처리 한다.숫자의 크기가 1000000 임으로 INT(정수)형 변수로 처리 가능하다. 만약 숫자의 크기가 아닌 길이가 1000000 이라면 정수로 처리가 불가능 하다. 현재 적용된 코드는 범위를 정하지 않고 완전 탐색으로 구현 하였으니 참고 하세요. 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565..