[c++] BOJ 9342 :: 염색체

문제

염색체 문제 λ°”λ‘œκ°€κΈ°

μƒκ·Όμ΄λŠ” 생λͺ…κ³Όν•™ μ—°κ΅¬μ†Œμ—μ„œ 염색체가 νŠΉμ •ν•œ νŒ¨ν„΄μΈμ§€λ₯Ό ν™•μΈν•˜λŠ” 일을 ν•˜κ³  μžˆλ‹€. μ—Όμƒ‰μ²΄λŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμž (A, B, C, ..., Z)둜만 이루어진 λ¬Έμžμ—΄μ΄λ‹€. μƒκ·Όμ΄λŠ” 각 염색체가 λ‹€μŒκ³Ό 같은 κ·œμΉ™μ„ λ§Œμ‘±ν•˜λŠ”μ§€ 검사해야 ν•œλ‹€.

  • λ¬Έμžμ—΄μ€ {A, B, C, D, E, F} 쀑 0개 λ˜λŠ” 1개둜 μ‹œμž‘ν•΄μ•Ό ν•œλ‹€.
  • κ·Έ λ‹€μŒμ—λŠ” Aκ°€ ν•˜λ‚˜ λ˜λŠ” κ·Έ 이상 μžˆμ–΄μ•Ό ν•œλ‹€.
  • κ·Έ λ‹€μŒμ—λŠ” Fκ°€ ν•˜λ‚˜ λ˜λŠ” κ·Έ 이상 μžˆμ–΄μ•Ό ν•œλ‹€.
  • κ·Έ λ‹€μŒμ—λŠ” Cκ°€ ν•˜λ‚˜ λ˜λŠ” κ·Έ 이상 μžˆμ–΄μ•Ό ν•œλ‹€.
  • κ·Έ λ‹€μŒμ—λŠ” {A, B, C, D, E, F} 쀑 0개 λ˜λŠ” 1κ°œκ°€ 있으며, 더 μ΄μƒμ˜ λ¬ΈμžλŠ” μ—†μ–΄μ•Ό ν•œλ‹€.

λ¬Έμžμ—΄μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, μœ„μ˜ κ·œμΉ™μ„ λ§Œμ‘±ν•˜λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

 

풀이

λ¬Έμ œλŒ€λ‘œ μ •κ·œν‘œν˜„μ‹μ„ λ§Œλ“€μ–΄ κ΅¬ν˜„ν•˜λ©΄ λœλ‹€.

c++μ—μ„œλŠ” regex 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ μ •κ·œμ‹μ„ ν‘œν˜„ν•œλ‹€.

맞으면 Good이 μ•„λ‹ˆλΌ InfectedλΌλŠ” 점에 μ£Όμ˜ν•˜μž.

 

 

μ½”λ“œ

#include <iostream>
#include <regex>
#include <string>

using namespace std;

int main() {
	int T; cin >> T;
	regex re("(^[A-F]?A+F+C+[A-F]?$)");
	while (T--) {
		string str; cin >> str;
		if (regex_match(str, re)) {
			cout << "Infected!" << '\n';
		}
		else {
			cout << "Good" << '\n';
		}
	}
}

 

κ²°κ³Ό

λ°˜μ‘ν˜•

'Algorithm 문제 > BOJ' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[c++] BOJ 14906 :: μŠ€λŸ¬ν”Ό(Slurpys)  (0) 2021.11.03
[c++] BOJ 1013 :: Contact  (0) 2021.10.17
[c++] BOJ 20040 :: 사이클 κ²Œμž„  (0) 2021.10.10
[c++] BOJ 7579 :: μ•±  (0) 2021.10.10
[c++] BOJ 1501 :: μ˜μ–΄ 읽기  (0) 2021.10.07