반응형
반응형

[백준] 1021번 회전하는 큐
    https://www.acmicpc.net/problem/1021

 

1021번: 회전하는 큐

첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가

www.acmicpc.net


    문제
    지민이는 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년 뒤에도 정확히 같은 자리에 있는 것이다.
올해와 똑같은 일을 내년에도, 그 다음해에도 계속하면 정체된 것이다.
- 스티브 심, ‘사람의 마음을 움직이는 힘’에서


정체는 퇴보입니다. 늘 무언가 새로운 것을 시도해보아야 합니다.
시도해서 성공하면 근사한 일이고,
실패하면 그만큼 성장해 있는 나를 발견할 수 있을 것입니다.
무언가 새로운 시도를 하는 것은 불편하지만,
그 불편함이 나에게 기회를 주고 나를 성장시키는 것입니다.
위험을 감수할 때마다 우리는 배우고 성장합니다.

반응형
반응형

첫눈에 반하는 사랑은
통제에서 벗어나는 즐거운 경험이며,
예술적 영감을 경험하는 것도 마찬가지다.
우리는 걸작을 창조하는 고통 속의 렘브란트나
모차르트의 기쁨을 상상만 할 수 있을 뿐이다.
그래서 이중 통제에는 좋은 면과 나쁜 면이 있다.
온갖 종류의 번쩍이는 아이디어를 수반하는
감정의 불꽃(제멋대로 등장하는)을
경험하지 않는다면 생명은
로봇이 되었을 것이다.


- 디팩 초프라, 미나스 카파토스의 《당신이 우주다》 중에서 -  


* 첫눈에 반한 사랑은
섬광이나 번개와도 같습니다.
손으로 막을 수도 몸으로 피할 수도 없습니다.
예술적 영감이나 번뜩이는 아이디어도 마찬가지입니다.
길들여진 규정과 통제에서 벗어났을 때 우주가 주는
신비한 선물과 조우할 수 있습니다. 뜻밖의 곳에서,  
뜻밖의 사랑을, 뜻밖의 걸작을 만나게 됩니다.
로봇처럼 타성에 젖어 삶이 빛을 잃으면
첫눈에 반한 사랑도 없습니다.

반응형

'아침편지' 카테고리의 다른 글

나만의 고독한 장소  (0) 2023.04.14
분을 다스리기 힘들 때  (0) 2023.04.13
바쁘다는 것은  (0) 2023.04.11
혈당 관리가 중요한 이유  (0) 2023.04.10
  (0) 2023.04.08
반응형

바쁘다는 것은
사실 중요한 신호다. 사람들이
당신에게 다가가기 어렵게 만들기 때문이다.
또한 눈앞의 과업을 해내느라 당신은
늘 과로에 시달린다. 항상 바쁘게
지내다 보면 정말로 잘못된 것을
알아채지 못하고
방치하게 된다.


- 브리애나 위스트의 《나를 지켜내는 연습》 중에서 -


* 톨스토이의 작품 중에
'사람은 무엇으로 사는가'가 있습니다.
저승사자가 뒤에 서 기다리고 있는데 1년 이상
신을 수 있는 튼튼한 신발을 만들어 달라는 사람의
이야기가 나옵니다. 부지런히 만든 그 신발은 결국
자신의 장례 때 신게 됩니다. 지금 내게 가장
소중한 것이 무엇인지, 바쁜 걸음을 잠시
멈춰서 앞뒤를 살필 시간입니다.

 

반응형

'아침편지' 카테고리의 다른 글

분을 다스리기 힘들 때  (0) 2023.04.13
첫눈에 반한 사랑  (0) 2023.04.12
혈당 관리가 중요한 이유  (0) 2023.04.10
  (0) 2023.04.08
나의 음악 레슨 선생님  (0) 2023.04.07
반응형

‘미래는 어떻게 될까요?’라고 남에게 질문할 것이 아니라,
‘미래를 어떻게 만들고 싶은가?’라고 자문해야 할 것이다.
미래라는 것은 예측하기보다 오히려 비전으로 생각하며 그려내야 한다.
예측은 빗나가기 때문이다.
- 야마구치 슈, ‘철학은 어떻게 삶의 무기가 되는가.’에서


앨런 케이는 “미래를 예측하는 최선의 방법은
미래를 창조하는 것이다.”라고 말했습니다.
아인슈타인은 “상상력은 미래의 예고편이다”고 했습니다.
미래는 예측하고 기다리는 것이 아니라,
상상하고 꿈꾸고 열정을 다해 만들어가는 것입니다.

반응형
반응형

혈당 관리는
어렵거나 복잡한 것이 아니다.
간단하면서도 중요한 두 가지가 운동과
건강한 체중 유지다. 이와 함께 자신의 식습관이
혈당 수치에 어떤 영향을 미치는지도 잘 이해해야
한다. 특히 정제된 탄수화물이 위험하다는 사실을
명심해야 한다. 혈당 수치를 급속히 올리기 때문이다.
그럴 경우 비정상적인 대사 반응이 나타나고,
그 과정이 반복되면 비만과 당뇨병이
올 수 있다.


- 안드레아스 모리츠의 《치매에서의 자유》 중에서 -


* 혈당 관리는
건강에서 기본 중의 기본입니다.
혈당에서 무너지면 만 가지 병이 뒤따라 옵니다.
그러려면 자신의 몸에 대해 늘 깨어 있어야 합니다.
무엇을 먹을 때의 느낌, 먹고 난 후의 반응 등
몸의 촉을 잘 살피면 무엇이 나에게 도움이
되는지를 알 수 있습니다. 맛에 중독되어
촉을 잃어버리기 전에 깨어 몸의
소리를 들어야 합니다.

반응형

'아침편지' 카테고리의 다른 글

첫눈에 반한 사랑  (0) 2023.04.12
바쁘다는 것은  (0) 2023.04.11
  (0) 2023.04.08
나의 음악 레슨 선생님  (0) 2023.04.07
곡지(曲枝)가 있어야 심지(心志)도 굳어진다  (0) 2023.04.06

+ Recent posts