https://www.acmicpc.net/problem/1343
이건 그냥 음 처음에는 split써서 . 나눌까 했는데
그럼 ...이 여러개 나오면?
결국 구현했긴 한데
틀렸다.
그래서 순서대로 구해보기로 했는데
알고리즘은 간단하다.
1. 입력받는다.
2. "."과 문장 끝이 아니면 카운트센다
3. "."이 나오거나 문장끝이면
- 카운트가 홀수이면 구현할 수 없기 때문에 "-1" 출력
- 4로 나눠지면 "AAAA"추가
- 2로 나눠지면 "BB"추가
#include <iostream> #include <string> using namespace std; int main() { string input_str; cin >> input_str; string output; int count = 0; for (int i = 0; i < input_str.size()+1; i++) { if (input_str[i] == '.' || input_str[i] == '\0') { if (count % 2 != 0) { cout << "-1"; return 0; } while (count / 4 != 0) { output+= "AAAA"; count -= 4; } while (count / 2 != 0) { output += "BB"; count -= 2; } if (i != input_str.size()){ output+="."; count = 0; } } else { count++; } } for (int i = 0; i < output.size(); i++) { cout << output[i]; } return 0; }
python
#1343 import sys input_str= str(input()) count = 0 output = "" for i in range(len(input_str)+1): if i == len(input_str) or input_str[i] == '.' : if count % 2 != 0: print("-1") sys.exit() while(count //4 != 0): output += "AAAA" count -= 4 while (count//2 != 0): output += "BB" count -= 2 if i != len(input_str): output += "." count = 0 else: count+=1 print(output)
'Coding Test > Problem_solving' 카테고리의 다른 글
[백준] 1541_잃어버린 괄호 (C++) (0) | 2021.06.30 |
---|---|
[백준] 2217_로프(C++) (0) | 2021.06.29 |
[백준] 14916_거스름돈 /C++/python (0) | 2021.06.29 |
[백준] 5585_거스름돈 c++, python (0) | 2021.06.29 |
[프로그래머스] 소수 만들기 c++ (0) | 2021.06.29 |