'생활의 발견 > 행복한 경영' 카테고리의 다른 글
워렌 버핏의 투자론 (1) | 2023.03.07 |
---|---|
외부 환경은 마음에 따라 변한다 (0) | 2023.03.06 |
누구나 갈 수 있는 성공의 길 (0) | 2023.03.02 |
소수의 일에 집중하라 (0) | 2023.02.28 |
자유롭게 말하게 하라 (0) | 2023.02.27 |
워렌 버핏의 투자론 (1) | 2023.03.07 |
---|---|
외부 환경은 마음에 따라 변한다 (0) | 2023.03.06 |
누구나 갈 수 있는 성공의 길 (0) | 2023.03.02 |
소수의 일에 집중하라 (0) | 2023.02.28 |
자유롭게 말하게 하라 (0) | 2023.02.27 |
""" [백준] 1013번 Contact - PYTHON
https://www.acmicpc.net/problem/1013
문제
“무한히 넓은 저 우주에 인류만이 홀로 존재한다면, 그건 정말 슬픈 일이 아닐까요”
푸에르토리코 아레시보에 위치한 아레시보 전파망원경(Arecibo radio telescope)은 수십 년째 존재하지 않을 지도 모르는 외계 문명으로부터의 전파를 수신하기 위해 밤하늘을 바라보고 있다.
이 망원경이 수집한 전파 속에서 자연적으로 발생하기 힘든 패턴들을 찾아내어, 그것을 증거로 외계 문명의 존재 여부를 가리려는 노력은 줄곧 이어져왔지만 아직까지도 그러한 패턴은 발견되지 않았다. 한국 천문학계의 자존심 김동혁 박사는 국내 기술로 이러한 탐사를 진행하기 위하여 다음의 전파 표기를 표준으로 삼았다.
전파의 기본 단위는 { 0 , 1 } 두 가지로 구성되어있으며, x+ ( ) 는 임의의 개수(최소 1개) x의 반복으로 이루어진 전파의 집합을 나타낸다.
(xyx)+ ( ) 는 괄호 내의 xyx의 반복으로 이루어진 전파의 집합을 뜻한다. 아래는 이해를 돕기 위한 예제이다.
1+ = { 1, 11, 111, 1111, 11111, … }
10+ = { 10, 100, 1000, 10000, 100000, … }
(01)+ = { 01, 0101, 010101, 01010101, 0101010101, … }
(1001)+ = { 1001, 10011001, 100110011001, … }
10+11 = { 1011, 10011, 100011, 1000011, 10000011, … }
(10+1)+ = { 101, 1001, 10001, 1011001, 1001101, 100011011000001, … }
반복을 의미하는 + 외에도 or 를 의미하는 | 기호가 있다. { x | y } 는 x 혹은 y 를 의미하는 것으로, { 0+ | 1+ } 는 { 0 , 1 , 00 , 11 , 000 , 111 , … } 의 집합을 의미한다. 아래는 두 기호를 복합적으로 사용한 예이다.
(100 | 11)+ = { 100 , 11 , 10011 , 11100 , 1110011100 , 100111111100100, … }
최근 김동혁 박사는 아레시보 전파망원경에서 star Vega(직녀성) 으로부터 수신한 전파 기록의 일부를 조사하여 그 전파들의 패턴을 분석하여 아래와 같이 기록하였다.
(100+1+ | 01)+
김동혁 박사는 다양한 전파 기록 중에서 위의 패턴을 지니는 전파를 가려내는 프로그램을 필요로 한다. 이를 수행할 수 있는 프로그램을 작성하라.
입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤ N ≤ 200)의 범위를 갖는다.
출력
각 테스트 케이스에 대해 주어진 전파가 문제에서 제시한 패턴이면 “YES”를 그렇지 않은 경우는 “NO”를 출력한다. 출력 문자열은 모두 대문자로 구성되어 있다.
예제 입력
3
10010111
011000100110001
0110001011001
예제 출력
NO
NO
YES
>> BOJ\1013_Contact.py
3
10010111
NO
011000100110001
NO
0110001011001
YES
re 모듈 : 정규식 엔진에 대한 인터페이스를 제공
compile 메소드: 정규식 패턴 입력
fullmatch 메소드: 입력된 패턴과 문자열이 남는 부분 없이 완벽하게 일치하는지 검사. 일치하지 않으면 None.
"""
import re
import sys
input = sys.stdin.readline
p = re.compile('(100+1+|01)+')
for i in range(int(input())):
s = input().strip()
if p.fullmatch(s):
print("YES")
else:
print("NO")
[백준] 1015번 수열 정렬 - PYTHON (0) | 2023.03.22 |
---|---|
[백준] 1014번 컨닝 Cheating - PYTHON (0) | 2023.03.08 |
[백준] 1012번 유기농 배추 - PYTHON (0) | 2023.03.01 |
[백준] 1011번 FlymetotheAlphaCentauri - PYTHON (0) | 2023.02.23 |
[백준] 1010번 다리놓기 - PYTHON (0) | 2023.02.21 |
누군가를 마음 깊이 섬길 수 있다면
그 사람은 이미 성공의 길로 접어든 것이다.
누구나 위대한 사람이 될 수 있다.
모두가 봉사를 할 수는 있기 때문이다.
봉사는 대학학위를 필요로 하지 않는다.
- 존 맥스웰의 '성공이야기'에서
다른 사람을 섬기는 삶은 학력과 관련이 없습니다.
남을 섬기는 데에는 사랑으로 가득한 마음만이 필요합니다.
성공의 비법은 먼저 주고, 나중에 받는 것입니다.
Take & Give가 아닌, Give & Take를 실천해야 합니다.
외부 환경은 마음에 따라 변한다 (0) | 2023.03.06 |
---|---|
잘 베푸는 사람이 부자가 된다 [촌철활인] (0) | 2023.03.03 |
소수의 일에 집중하라 (0) | 2023.02.28 |
자유롭게 말하게 하라 (0) | 2023.02.27 |
상상력이 세상을 지배한다 (0) | 2023.02.23 |
나의 에너지 장이
내가 보는 모든 것에 색을 입힌다.
- 데이비드 호킨스의《데이비드 호킨스의 365일 명상》중에서 -
* '나'는 일종의 프리즘입니다.
나라는 프리즘을 통해 모든 색이 드러납니다.
빨주노초파남보. 프리즘이 탁해지면 그 부분의
색이 잘 드러나지 않습니다. 그래서
오늘도 말갛게 닦습니다.
삶의 모든 것은 글의 재료 (0) | 2023.03.04 |
---|---|
운이 더 좋았을 뿐이다 (0) | 2023.03.03 |
첫날부터 울음바다였다 (0) | 2023.03.01 |
습득하는 속도 (0) | 2023.02.28 |
'첫 번째 펭귄'(First penguin) (0) | 2023.02.27 |
'소방관 배우자들을 위한'
무료 힐링캠프도 열었다. 당시 충주와
가까운 제천에서 큰 화재가 났다. 언론의 질타가
쏟아졌는데 그 대상이 다름 아닌 소방관이었다.
자기 목숨을 걸고 불구덩이에 뛰어들며 때로는
목숨을 잃는 직업인데 감당할 수 없는 비난을
받으니까 소방관 배우자들이 더 힘들어했다.
그래서 그분들을 위로하기 위해 배우자
무료 힐링캠프를 열었던 것이다.
첫날부터 울음바다였다.
- 고도원의《고도원 정신》중에서 -
* 매일 전장과도 같은 화재 현장에서
살아 돌아와 무너지듯 쓰러지는 소방관들,
그들을 품어 안고 속울음 우는 배우자들, 그들에겐
질타의 시선이 화마보다 더 무섭습니다. 아프고
서럽고 억울할 때 서로 마음을 나눈다는 것이
얼마나 큰 위로가 되는지를 실감했습니다.
눈물도 함께 나누면 고통과 아픔도
한결 가벼워집니다.
운이 더 좋았을 뿐이다 (0) | 2023.03.03 |
---|---|
'나'는 프리즘이다 (0) | 2023.03.02 |
습득하는 속도 (0) | 2023.02.28 |
'첫 번째 펭귄'(First penguin) (0) | 2023.02.27 |
우리 삶이 올림픽이라면 (0) | 2023.02.27 |
[백준] 1012번 유기농 배추 - PYTHON
https://www.acmicpc.net/problem/1012
1012번: 유기농 배추
차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에
www.acmicpc.net
T = int(input()) #테스트케이스의 개수
dx = [-1,1,0,0]
dy = [0,0,-1,1]
def BFS(x,y):
queue = [(x,y)]
matrix[x][y] = 0 # 방문처리
while queue:
x,y = queue.pop(0)
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or nx >= M or ny < 0 or ny >= N:
continue
if matrix[nx][ny] == 1 :
queue.append((nx,ny))
matrix[nx][ny] = 0
# 행렬만들기
for i in range(T):
M, N, K = map(int,input().split())
matrix = [[0]*(N) for _ in range(M)]
cnt = 0
for j in range(K):
x,y = map(int, input().split())
matrix[x][y] = 1
for a in range(M):
for b in range(N):
if matrix[a][b] == 1:
BFS(a,b)
cnt += 1
print(cnt)
>1012_OrganicCabbage.py
1
5 3 6
0 2
1 2
2 2
3 2
4 2
4 0
2
[백준] 1014번 컨닝 Cheating - PYTHON (0) | 2023.03.08 |
---|---|
[백준] 1013번 Contact - PYTHON (0) | 2023.03.02 |
[백준] 1011번 FlymetotheAlphaCentauri - PYTHON (0) | 2023.02.23 |
[백준] 1010번 다리놓기 - PYTHON (0) | 2023.02.21 |
[백준] 1009번 분산 처리 - PYTHON (0) | 2023.02.17 |