728x90

알고리즘 246

백준] 5554 - 심부름 가는 길(JOI 2011 예선)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 총 4줄이며, 한 줄에 하나씩 양의 정수가 적혀있다.첫 번째 줄에 집에서 학교까지의 이동 시간을 나타내는 초가 주어진다.두 번째 줄에 학교에서 PC방까지의 이동 시간을 나타내는 초가 주어진다.세 번째 줄에 PC방에서 학원까지의 이동 시간을 나타내는 초가 주어진다. 마지막 줄에 학원에서 집까지의 이동 시간을 나타내는 초가 주어진다.집에 늦게 가면 혼나기 때문에, 총 이동시간은 항상 1 분 0 초 이상 59 분 59 초 이하이다. 출력총 이동시간 x 분 y 초를 출력한다. 첫 번째 줄에 x를, 두 번째 줄에 y를 출력한다. 소스코드 #include using namespace std; int main(void) { int a, b, c, d, x, y,..

백준] 1551 - 수열의 변화

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 수열의 크기 N과 K가 주어진다. N은 20보다 작거나 같은 자연수이고, K는 0보다 크거나 같고, N-1보다 작거나 같은 자연수이다. 둘째 줄에는 수열이 ‘,’로 구분되어 주어진다. 출력첫째 줄에 K번 변형한 수열을 ‘,’로 구분하여 출력한다. 소스코드#include #include #include using namespace std; void tokenizer(string& str, vector& token, string delimiter) { size_t lastPos = str.find_first_not_of(delimiter, 0); size_t pos = str.find_first_of(delimiter, lastPos); while ..

백준] 1032 - 명령 프롬프트

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 알파벳과 "." 그리고 "?"로만 이루어져 있다. 출력첫째줄에 패턴을 출력하면 된다. 소스코드 #include #include using namespace std; int main() { int n, len; char s[51], c; cin >> n >> s; len = strlen(s); for (int i = 1; i > c; s[j] = s[j] - c ? '?' : c..

백준] 4613 - Quicksum(ACM-ICPC Regional)

시간 제한 : 1초메모리 제한 : 128MB 입력인풋에 # 이 들어오기 전까지 계속 입력을 받는다. 각각의 패킷은 한줄에 하나씩 입력이 되며 공백으로 시작되거나 끝나지 않으며, 대문자만 입력이 된다. 패킷의 길이는 1~255자이다. 출력각각의 패킷에 따라 한줄에 하나씩 Quicksum 을 출력하라 소스코드 #include #include using namespace std; int main(void) { while (1) { string s; getline(cin, s); if (s == "#") break; int sum = 0, len = s.length(); for (int i = 0; i < len; i++) { if ((char)s[i] == ' '); else sum += (int)(s[i] ..

백준] 3059 - 등장하지 않는 문자의 합

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다. 출력각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다. 소스코드 #include #include using namespace std; int main(void) { int t, sum, len; cin >> t; while (t--) { string s; bool check[26] = { false, }; cin >> s; sum =..

백준] 9324 - 진짜 메시지(ACM-ICPC Regional)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 100 이하의 테스트 케이스의 개수가 주어진다. 그리고 각 테스트 케이스마다 대문자로만 이루어진 10만자 이하의 문자열 M이 한 줄에 주어진다. (검사해야할 메시지다) 출력테스트 케이스마다 메시지 M이 진짜 메시지면 “OK”를, 가짜 메시지면 “FAKE”를 한 줄에 출력한다. 소스코드 #include #include using namespace std; int main(void) { int t, len; bool real = true; cin >> t; while (t--) { string s; int arr[26] = { 0, }; cin >> s; len = s.length(), real = true; for (int i = 0; i < le..

백준] 3035 - 스캐너(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 R, C, ZR, ZC가 주어진다. R과 C는 1과 50 사이의 정수이고, ZR과 ZC는 1과 5 사이의 정수이다. 다음 R개 줄에는 신문 기사가 주어진다. 출력스캐너에 스캔된 결과를 총 R*ZR개 줄에 걸쳐서 C*ZC개 문자씩 출력한다. 소스코드 #include using namespace std; int main(void) { int r, c, zr, zc; char arr[51][51]; cin >> r >> c >> zr >> zc; for (int i = 0; i > arr[i]; for (int i = 0; i < r; i++) { for (int l = 0; l < zr; l++) { for (int j =..

728x90