내가 하고 싶은건 앱개발자인데 대기업은 요즘 안드로이드, ios 따로 두지만 스타트업의 경우 같이 개발하는 개발자를 구한다고 하니... 크로스플랫폼을 다루려고한다.
여럿 툴이 있지만 플러터를 준비하려고한다.
클론코딩을 시작으로 내가 만들고자 하는 앱을 조금씩 구체화 시키고자한다.
코테 준비는 조금 줄이고 플러터에 몰두할것이다.
[10828] 스택
해결 포인트
명령 입력 줄을 보면 명령어 + 숫자로 구성되어있는데 이를 리스트에 넣어 인덱스 0번에 있는 명령어(str) 값을 if문을 통해 구분하여 구현하면 된다.
답안
import sys
t = int(sys.stdin.readline())
li = []
for i in range(t):
a = list(sys.stdin.readline().split())
if a[0] == "push": # 명령어(str) 값 구분
li.append(a[1])
elif a[0] == "pop":
if len(li) == 0:
print(-1)
else:
print(li.pop())
elif a[0] == "size":
print(len(li))
elif a[0] == "empty":
if len(li) == 0:
print(1)
else:
print(0)
elif a[0] == "top":
if len(li) == 0:
print(-1)
else:
print(li[-1])
[10773] 제로
해결 포인트
입력값이 0일때와 아닐때 나누어 처리하면 쉽게 구현 가능하다.
답안
import sys
a = int(sys.stdin.readline())
num = []
for i in range(a):
b = int(sys.stdin.readline())
if b != 0:
num.append(b)
else:
num.pop()
print(sum(num))
[2920] 음계
해결 포인트
이정도는 뭐,,,,
답안
import sys
li = ['1','2','3','4','5','6','7','8']
li2 = ['8','7','6','5','4','3','2','1']
x = list(sys.stdin.readline().split())
if x == li:
print("ascending")
elif x == li2:
print("descending")
else:
print("mixed")
[2164] 카드 2
해결 포인트
import sys
a = int(sys.stdin.readline())
li = []
for i in range(1,a+1):
li.append(i)
while len(li) > 1:
li.pop(0)
li.append(li[0])
li.pop(0)
print(li[0])
위와 같은 코드로 구현을 했지만,, 시간초과....
나같은 코린이한테 너무 많은걸 요구한다 백준..
인터넷 검색 결과
importdeque를 이용하면 시간 효율적으로 풀이 가능하다...
답안
import sys
from collections import deque
li = deque()
a=int(sys.stdin.readline())
for i in range(1,a+1):
li.appendleft(i) # 1 ~ a+1 까지 차례대로 추가
while len(li) > 1: # 리스트의 길이에 따른 반목문
li.pop()
li.rotate(1) # 인덱스 값들을 왼쪽으로 하나 이동
print(li[0])