티스토리 뷰
#. Problem
* The copyright in this matter is in BOJ
#. Resolution Process
1. Read and understand problem
2. Redefine the problem + abstract
3. Create solution plan (select Algorithm, Data structure)
4. Prove the plan (check performance time and usage memory)
5. Carry out the plan
6. Look back on the plan and find a way to improve it
#. Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | S = input() tmp = '' ans = '' isTag = False for i in S: if i == ' ': ans += tmp[::-1] + i tmp = '' elif i == '<': isTag = True ans += tmp[::-1] + i tmp = '' elif i == '>': isTag = False ans += i elif isTag: ans += i else: tmp += i ans += tmp[::-1] print(ans) | cs |
조건이 많으니까 은근 헷갈린다..
#. Other Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | S = input() tmp, ans, ck = '', '', False for i in S: if i == ' ': if not ck: ans += tmp[::-1] + i tmp = '' else: ans += i elif i == '<': ck = True ans += tmp[::-1] + i tmp = '' elif i == '>': ck = False ans += i else: if ck: ans += i else: tmp += i ans += tmp[::-1] print(ans) | cs |
line 6, 18 에서 나는 tag 체크를 안 했는데.. 어떻게 통과했넹ㅋㅋㅋ
반례나오면 큰일났겠구먼..
그래도 이렇게 안전하게 코드를 짜는게 중요한 것 같다.
line 6~10) 공백이 나올 경우
line 7) tag 내부가 아닐 경우 역tmp 를 ans에 추가해주고 tmp 초기화
line 10) tag 내부일 경우 바로 ans에 추가
line 11~14) tag가 시작될 경우
line 12) tag 상태 체크
line 13) 이전까지 역tmp를 ans에 추가해주고 tmp 초기화
line 15~17) tag가 끝날 경우
line 16) tag 상태 해제
line 17) ans 변수에 추가
line 18~20) 이외의 경우
line 19) tag 내부일 경우 ans 변수에 바로 추가
line 20) tag 내부가 아닐 경우 tmp 변수에 추가
line 22) 반복문이 끝나고 출력되지 않은 역tmp를 ans에 추가
'PS > Problem_Solving' 카테고리의 다른 글
[BOJ] 14620. 꽃길.py.cpp(전수조사) (0) | 2020.05.19 |
---|---|
[BOJ] 16956. 늑대와 양.py(방향벡터) (0) | 2020.05.19 |
[BOJ] 16675. 두 개의 손(조건문 구현).py.cpp (0) | 2020.05.19 |
[BOJ] 2480. 주사위 세개, 2484. 주사위 네개(조건문 구현) (0) | 2020.05.18 |
[BOJ] 1074. Z.py.cpp(재귀함수) (0) | 2020.05.18 |