"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년 뒤에도 정확히 같은 자리에 있는 것이다. 올해와 똑같은 일을 내년에도, 그 다음해에도 계속하면 정체된 것이다. - 스티브 심, ‘사람의 마음을 움직이는 힘’에서
정체는 퇴보입니다. 늘 무언가 새로운 것을 시도해보아야 합니다. 시도해서 성공하면 근사한 일이고, 실패하면 그만큼 성장해 있는 나를 발견할 수 있을 것입니다. 무언가 새로운 시도를 하는 것은 불편하지만, 그 불편함이 나에게 기회를 주고 나를 성장시키는 것입니다. 위험을 감수할 때마다 우리는 배우고 성장합니다.
첫눈에 반하는 사랑은 통제에서 벗어나는 즐거운 경험이며, 예술적 영감을 경험하는 것도 마찬가지다. 우리는 걸작을 창조하는 고통 속의 렘브란트나 모차르트의 기쁨을 상상만 할 수 있을 뿐이다. 그래서 이중 통제에는 좋은 면과 나쁜 면이 있다. 온갖 종류의 번쩍이는 아이디어를 수반하는 감정의 불꽃(제멋대로 등장하는)을 경험하지 않는다면 생명은 로봇이 되었을 것이다.
- 디팩 초프라, 미나스 카파토스의 《당신이 우주다》 중에서 -
* 첫눈에 반한 사랑은 섬광이나 번개와도 같습니다. 손으로 막을 수도 몸으로 피할 수도 없습니다. 예술적 영감이나 번뜩이는 아이디어도 마찬가지입니다. 길들여진 규정과 통제에서 벗어났을 때 우주가 주는 신비한 선물과 조우할 수 있습니다. 뜻밖의 곳에서, 뜻밖의 사랑을, 뜻밖의 걸작을 만나게 됩니다. 로봇처럼 타성에 젖어 삶이 빛을 잃으면 첫눈에 반한 사랑도 없습니다.
바쁘다는 것은 사실 중요한 신호다. 사람들이 당신에게 다가가기 어렵게 만들기 때문이다. 또한 눈앞의 과업을 해내느라 당신은 늘 과로에 시달린다. 항상 바쁘게 지내다 보면 정말로 잘못된 것을 알아채지 못하고 방치하게 된다.
- 브리애나 위스트의 《나를 지켜내는 연습》 중에서 -
* 톨스토이의 작품 중에 '사람은 무엇으로 사는가'가 있습니다. 저승사자가 뒤에 서 기다리고 있는데 1년 이상 신을 수 있는 튼튼한 신발을 만들어 달라는 사람의 이야기가 나옵니다. 부지런히 만든 그 신발은 결국 자신의 장례 때 신게 됩니다. 지금 내게 가장 소중한 것이 무엇인지, 바쁜 걸음을 잠시 멈춰서 앞뒤를 살필 시간입니다.