From 4fc4659900700ad69d312efabecfc005df8ff2bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=98=81=EC=A4=80=5FT5087?= Date: Thu, 20 Jul 2023 02:41:14 +0900 Subject: [PATCH] youngjun-0720 --- ...60\355\212\270\353\246\254\352\270\260.py" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "youngjun/13_\355\222\215\354\204\240\355\204\260\355\212\270\353\246\254\352\270\260.py" diff --git "a/youngjun/13_\355\222\215\354\204\240\355\204\260\355\212\270\353\246\254\352\270\260.py" "b/youngjun/13_\355\222\215\354\204\240\355\204\260\355\212\270\353\246\254\352\270\260.py" new file mode 100644 index 0000000..213c706 --- /dev/null +++ "b/youngjun/13_\355\222\215\354\204\240\355\204\260\355\212\270\353\246\254\352\270\260.py" @@ -0,0 +1,24 @@ +def solution(a): + + if len(a) <= 2: + return len(a) + + answer = 2 #양쪽 끝 풍선은 무조건 남을 수 있기 때문에 + + left = a[0] + right = a[-1] + left_list = [] + right_list = [] + + for i in range(1,len(a)-1): + left_list.append(left) #앞에서 부터 가장 작은 왼쪽 원소 저장 + left = min(left,a[i]) + + right_list.append(right) #뒤에서 부터 가장 작은 오른쪽 원소 저장 + right = min(right,a[-1-i]) + + for i in range(1,len(a)-1): + if max(a[i],right_list[-i],left_list[i-1]) != a[i]: #a[i]와 a[i]기준 왼쪽 최소, 오른쪽 최소 비교 + answer +=1 + + return answer \ No newline at end of file