낸시 메리키는 열 살 때 소아마비로 목발을 짚게 되는 장애를 입었습니다. 부모는 낸시가 걸을 수 있도록 다리 근육 강화에 좋다는 수영을 가르쳤습니다. 그 후 열아홉 살 때 낸시는 전국 수영대회에서 1등을 거머쥐었습니다. 루즈벨트 대통령이 낸시에게 물었습니다. "불편한 몸으로 어떻게 챔피언이 될 수 있었죠?" "계속했을 뿐입니다. 각하" 낸시의 대답입니다.
확실한 목표를 향해 좌고우면하지 않고 끝까지 돌진한다면 무슨 일이든 다 해낼 수 있을 것입니다. 그래서 인간은 누구나 위대하고 소중한 존재입니다.
공자는 '논어'에서 분을 다스리기 힘들 때 필요한 해법을 제시한다. 바로 분사난(忿思難)이다. "화가 났을 때는 그 뒤에 있을 어려움을 생각하라"는 뜻이다. 분노는 순간적인 감정이다. 하지만 그것을 참지 않고 발산했을 때 피해는 두고두고 남는다. 심지어 그 감정을 마음껏 발산해도 통쾌함보다는 후회만 남게 된다.
- 조윤제의 《하루 한 장 고전 수업》 중에서 -
* 살다 보면 화낼 일이 생깁니다. 화를 내면 득될 것이 없다는 것도 잘 압니다. 그런데도 그만 순간적으로 폭발하고 후회합니다. 안 그러려면 어찌해야 할까요? 화가 치밀어 오를 때는 눈을 감습니다. 터질 것 같은 열기와 답답함을 날숨으로 내보냅니다. 길고 깊고 가늘고 고요한 날숨과 함께 심장의 분노를 내보내며, 숨이 끝나는 지점을 느껴봅니다. 그러면 그 순간을 넘길 수 있습니다. 분노 다음에 분노가 아니고 마음의 평화가 다가옵니다.
"AI는 인간을 대체하는 것이 아니라 인간을 증강하고 개선하기 위해 존재한다. 세상을 이해하고 의사 결정을 내릴 때는 사람이 함께해야 한다. AI가 할 수 있는 일은 우리가 가치 있고 창의적인 일에 더 많은 뇌파를 적용해 하루에 더 많은 시간을 중요한 일에 할애할 수 있을 뿐만 아니라 최고 업무에 집중할 수 있도록 도와주는 것이다."
AI가 업무 방식을 변화시킬 수 있는 잠재력은 무궁무진하지만 아직은 초기 단계에 머물러 있다. B2B 애플리케이션에서 생성 AI는 더 많은 콘텐츠를 생성하는 것을 넘어 업무를 더 빠르고 효과적으로 수행할 수 있는 합성 AI로 발전해야 한다. B2B 애플리케이션에서는 누가 워크플로우를 소유할 수 있는지에 대한 끊임없는 경쟁이 벌어지고 있으며, AI 네이티브 애플리케이션들은 이러한 경쟁을 더욱 흥미진진하게 만들 것이다.
문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.
지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 1.첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 2.왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 3.오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다.
큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서의 위치이다.) 이때, 그 원소를 주어진 순서대로 뽑아내는데 드는 2번, 3번 연산의 최솟값을 출력하는 프로그램을 작성하시오.
입력 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다.
예제 입력 1 10 3 1 2 3 예제 출력 1 0 예제 입력 2 10 3 2 9 5 예제 출력 2 8
import sys
N, M = map(int, sys.stdin.readline().split())
targets = list(map(int, sys.stdin.readline().split(' ')))
queue = [i for i in range(1, N+1)]
ans = 0
for target in targets:
plus_index = queue.index(target) # 앞에꺼를 뒤로 넘기는 연산 수
minus_index = len(queue) - plus_index # 뒤에꺼를 앞으로 넘기는 연산 수
steps = min(plus_index, minus_index) # 둘 중 최솟값
# plus는 2번 연산
# minus는 3번 연산
if steps == plus_index: sign = 'plus'
else: sign = 'minus'
if sign == 'plus':
for _ in range(steps):
temp = queue.pop(0)
queue.append(temp)
else:
for _ in range(steps):
temp = queue.pop(-1)
queue.insert(0, temp)
ans += steps
queue.pop(0)
print(ans)
# 참고 : https://www.acmicpc.net/problem/1021
정체되는 것을 두려워하라. 세상에서 가장 나쁜 것은 무언가를 시도하던 중에 쓰러지거나 비웃음을 사는 게 아니다. 오히려 당신에게 일어날 수 있는 최악의 상황은 1년 뒤에도 정확히 같은 자리에 있는 것이다. 올해와 똑같은 일을 내년에도, 그 다음해에도 계속하면 정체된 것이다. - 스티브 심, ‘사람의 마음을 움직이는 힘’에서
정체는 퇴보입니다. 늘 무언가 새로운 것을 시도해보아야 합니다. 시도해서 성공하면 근사한 일이고, 실패하면 그만큼 성장해 있는 나를 발견할 수 있을 것입니다. 무언가 새로운 시도를 하는 것은 불편하지만, 그 불편함이 나에게 기회를 주고 나를 성장시키는 것입니다. 위험을 감수할 때마다 우리는 배우고 성장합니다.