[백준] 12789번 도키도키 간식드리미

[백준] 12789번 도키도키 간식드리미

출처: [백준] 12789번 도키도키 간식드리미


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 3083 1189 952 38.715%

문제

인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두근 설레서 시험 공부에 집중을 못 한다. 이번 중간고사에서도 역시 승환이는 설레는 가슴을 안고 간식을 받기 위해 미리 공지된 장소에 시간 맞춰 도착했다. 그런데 이게 무슨 날벼락인가! 그 곳에는 이미 모든 학생들이 모여있었고, 승환이는 마지막 번호표를 받게 되었다. 설상가상으로 몇몇 양심에 털이 난 학생들이 새치기를 거듭한 끝에 대기열의 순서마저 엉망이 되고 말았다. 간식을 나눠주고 있던 인규는 학우들의 터져 나오는 불만에 번호표 순서로만 간식을 줄 수 있다고 말했다.

그제야 학생들이 순서대로 줄을 서려고 했지만 공간이 너무 협소해서 마음대로 이동할 수 없었다. 다행히도 대기열의 왼쪽에는 1열로 설 수 있는 공간이 존재하여 이 공간을 잘 이용하면 모두가 순서대로 간식을 받을 수 있을지도 모른다. 자칫 간식을 못 받게 될지도 모른다는 위기감을 느낀 승환이는 자신의 컴퓨터 알고리즘적 지식을 활용해 과연 모든 사람들이 순서대로 간식을 받을 수 있는지 확인하는 프로그램을 만들기로 했다. 만약 불가능 하다면 승환이는 이번 중간고사를 망치게 될 것 이고 가능하다면 힘을 얻어 중간고사를 잘 볼 수 있을지도 모른다.

사람들은 현재 1열로 줄을 서있고, 맨 앞의 사람만 이동이 가능하다. 인규는 번호표 순서대로만 통과할 수 있는 라인을 만들어 두었다. 이 라인과 대기열의 맨 앞 사람 사이에는 한 사람씩 1열이 들어갈 수 있는 공간이 있다. 현재 대기열의 사람들은 이 공간으로 올 수 있지만 반대는 불가능하다. 승환이를 도와 프로그램을 완성하라.

현재 간식 배부 공간을 그림으로 나타내면 다음과 같다.

img

위 예제는 다음 그림과 같이 움직였을 때 모두가 순서대로 간식을 받을 수 있다..

img


입력

입력의 첫째 줄에는 현재 승환이의 앞에 서 있는 학생들의 수 N(1 ≤ N ≤ 1,000,자연수)이 주어진다.

다음 줄에는 승환이 앞에 서있는 모든 학생들의 번호표(1,2,…,N) 순서가 앞에서부터 뒤 순서로 주어진다.


출력

승환이가 무사히 간식을 받을 수 있으면 “Nice”(따옴표는 제외)를 출력하고 그렇지 않다면 “Sad”(따옴표는 제외)를 출력한다.


예제 입력 1

1
2
5
5 4 1 3 2

예제 출력 1

1
Nice

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sys
from collections import deque

input = sys.stdin.readline

N = int(input())

init_line = deque(map(int, input().split()))
wait_line = deque()

pos = 1
while init_line:
if init_line and init_line[0] == pos:
init_line.popleft()
pos += 1
else:
wait_line.append(init_line.popleft())

while wait_line and wait_line[-1] == pos:
wait_line.pop()
pos += 1

if wait_line:
print('Sad')
else:
print("Nice")

[백준] 17952번 과제는 끝나지 않아!

[백준] 17952번 과제는 끝나지 않아!

출처: [백준] 17952번 과제는 끝나지 않아!


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 256 MB 1518 645 523 44.854%

문제

성애는 이번 학기에 전공을 정말 많이 듣는다. 이로 인해 거의 매일을 과제를 하면서 보내고 있다. 그런데도 과제가 줄어들 기미가 보이지 않는데, 바로 분단위로 과제가 추가되고 있기 때문이다. 다행히 과제 제출 기한은 학기가 끝날 때까지이다. 너무나도 많은 과제를 하다가 미쳐버린 성애는 아래와 같은 규칙으로 과제를 해 나가고 있다.

  1. 과제는 가장 최근에 나온 순서대로 한다. 또한 과제를 받으면 바로 시작한다.
  2. 과제를 하던 도중 새로운 과제가 나온다면, 하던 과제를 중단하고 새로운 과제를 진행한다.
  3. 새로운 과제가 끝났다면, 이전에 하던 과제를 이전에 하던 부분부터 이어서 한다. (성애는 기억력이 좋기 때문에 아무리 긴 시간이 지나도 본인이 하던 부분을 기억할 수 있다.)

성애는 과제를 받자마자 이 과제가 몇 분이 걸릴지 정확하게 알 수 있고, 성애가 제출한 과제는 무조건 만점을 받는다.

성애는 이번 학기에 자기가 받을 과제 점수를 예상해보고 싶다. 하지만 과제 점수를 예상하는 지금도 과제가 추가되고 있기에 여유를 부릴 수가 없다. 여러분이 성애가 받을 과제 점수를 구해주자!


입력

첫째 줄에 이번 학기가 몇 분인지를 나타내는 정수 N이 주어진다. (1 ≤ N ≤ 1,000,000)

두번째 줄부터 N줄 동안은 학기가 시작하고 N분째에 주어진 과제의 정보가 아래의 두 경우 중 하나로 주어진다.

  • 1 A T: 과제의 만점은 A점이고, 성애가 이 과제를 해결하는데 T분이 걸린다. A와 T는 모두 정수이다. (1 ≤ A ≤ 100, 1 ≤ T ≤ 1,000,000)
  • 0: 해당 시점에는 과제가 주어지지 않았다.

출력

성애가 받을 과제 점수를 출력한다.


예제 입력 1

1
2
3
4
3
1 100 3
0
0

예제 출력 1

1
100
  • 1분째: 100점짜리 과제 1이 주어지고 이 과제를 하는데 3분이 걸린다. 과제를 받자마자 시작했으므로 과제 1이 끝나는데는 이제 2분 남았다.
  • 2분째: 새로운 과제가 주어지지 않았으므로 과제 1을 이어서 한다.
  • 3분째: 새로운 과제가 주어지지 않았으므로 과제 1을 이어서 한다. 이 시점에 과제 1이 끝나서 100점을 획득한다.

예제 입력 2

1
2
3
4
5
6
5
1 10 3
0
1 100 2
1 20 1
0

예제 출력 2

1
120
  • 1분째 : 과제 1이 나왔고, 받자마자 바로 시작했으므로 과제 1이 끝나기까지 2분 남았다.
  • 2분째 : 새로운 과제가 나오지 않았으므로 과제 1을 이어서 한다.
  • 3분째 : 과제 2가 나왔고, 받자마자 바로 시작했으므로, 과제 2가 끝나기까지 1분 남았다.
  • 4분째 : 과제 3이 나왔고, 받자마자 바로 시작했으므로, 과제 3을 끝내서 20점을 얻는다.
  • 5분째 : 새로운 과제가 나오지 않았으므로 이전에 하던 과제 2를 이어서 하고, 과제 2를 끝내서 100점을 얻는다.

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys

input = sys.stdin.readline

N = int(input())
# 1 A T: 과제O, 점수, 걸린 시간

work_list = []
score = 0
for _ in range(N):
info = list(map(int, input().split()))
if info[0] == 1: # 과제를 받았으면
if info[2] - 1 > 0:
work_list.append((info[1], info[2] - 1))
else:
score += info[1]
else: # 과제가 없으면
if work_list:
work = work_list.pop()
if work[1] - 1 > 0:
work_list.append((work[0], work[1] - 1))
else:
score += work[0]

print(score)

2021년 07월 12일 월요일 IT뉴스

1. [단독] “타도 오늘의집”…집꾸미기-하우저 전격합병

[단독] “타도 오늘의집”…집꾸미기-하우저 전격합병

연 42조원에 달하는 인테리어 시장은 코로나19 사태 이후 e커머스로 급격히 전환하면서 선두 다툼이 치열해지고 있으며, 업계 1위 오늘의집을 따라잡기 위해 2위인 집꾸미기와 3위 하우저가 전격 합병한다.

  • 집꾸미기는 인테리어 콘텐츠 커뮤니티를 운영하며 이를 기반으로 커머스 영업을 하는 인테리어 거래 플랫폼
  • 하우저는 빅데이터를 활용해 가구, 가전 물류를 효율화하는 인테리어 스마트 물류 플랫폼이다.

거래 플랫폼과 물류 플랫폼을 합쳐 시너지를 낸다는 방안으로 두 회사의 기업가치는 500억원 수준으로 알려졌지만, 벤처캐피털(VC) 업계 관계자는 두 회사의 시너지를 생각하면 훨씬 더 높은 가치를 받을 것”이라고 말했다.


2. 야놀자 “손정의 회장 1조 투자설? 확인해줄 수 없어”

야놀자 “손정의 회장 1조 투자설? 확인해줄 수 없어”

여가 플랫폼 야놀자 측이 최근 1조원에 이르는 손정의 일본 소프트뱅크그룹 회장의 대규모 투자설과 관련해 “확인해줄 수 없다”고 12일 입장을 밝혔다으며 앞서 투자유치설에 대해 ‘사실무근’이라고 했다가 ‘노코멘트’로 입장을 선회해 그 배경에 관심이 쏠린다.

야놀자는 올해 IPO는 물론 해외상장도 모색 중으로, 최근 장외거래시장에서 9~10조원 이상 가치로 거래되고 있는 유니콘(기업가치 1조원 이상 비상장기업)이다.


3. 무디스 “카뱅, 1년 후 대출시장 점유율 65%까지 확대”

무디스 “카뱅, 1년 후 대출시장 점유율 65%까지 확대”

신용평가회사 무디스는 카카오뱅크가 대출 시장에서 향후 큰 폭의 성장을 하고, 전통 은행들에 빅테크의 위협을 분명하게 보여주게 될 것이라고 분석했고, 최근 발표한 보고서에서 “카카오뱅크가 주택담보대출과 중소상공인 대출 상품을 출시할 경우 전체 원화대출 시장서 차지하는 비중이 향후 12~18개월간 현재의 14%에서 65%까지 확대될 것”이라고 예상했다.

또한 무디스는 올해 하반기 상장 후 카카오뱅크의 자본이 3월말 대비 약 76~90% 늘어날 것으로 예상했고 아울러 카카오뱅크가 첨단 기술을 활용하는 동시에 오프라인 점포 없이 운영해 다른 은행 대비 상대적으로 낮은 비용구조를 유지하고 있다는 점이 긍정적이라고 평가했다.


4. 셧다운제 폐지 법안 쏟아지는데…버티는 여가부

셧다운제 폐지 법안 쏟아지는데…버티는 여가부

심야시간대에 청소년들의 인터넷게임 접속을 제한하는 셧다운제 폐지 법안이 연이어 발의되면서 논의에 속도가 붙고 있으며, 셧다운제는 시행 후 약 10년 동안 실효성 논란에 휩싸여왔으며 사실상 실패한 법이라는 평가가 지배적이다.

최근 촉발된 마이크로소프트(MS)의 게임 ‘마인크래프트’ 사태는 다시 한 번 셧다운제 폐지 논의에 불을 지폈다. 마인크래프트는 교육용으로도 사용되는 청소년 인기 게임으로 알려져 있다.

한국행정학회가 2017년 한국콘텐츠진흥원에 제출한 ‘청소년 게임이용시간 제한제도 개선방안 연구’ 용역 과제 보고서에 따르면 게임이용시간 자체에 대한 통제의 정책적 효과가 예상보다 크지 않은 것으로 나타났다.


[백준] 1935번 후위 표기식2

[백준] 1935번 후위 표기식2

출처: [백준] 1935번 후위 표기식2


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 8614 4004 3204 46.549%

문제

후위 표기식과 각 피연산자에 대응하는 값들이 주어져 있을 때, 그 식을 계산하는 프로그램을 작성하시오.


입력

첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이는 100을 넘지 않는다) 그리고 셋째 줄부터 N+2번째 줄까지는 각 피연산자에 대응하는 값이 주어진다. (3번째 줄에는 A에 해당하는 값, 4번째 줄에는 B에 해당하는값 , 5번째 줄에는 C …이 주어진다, 그리고 피연산자에 대응 하는 값은 정수이다)


출력

계산 결과를 소숫점 둘째 자리까지 출력한다.


예제 입력 1

1
2
3
4
5
6
7
5
ABC*+DE/-
1
2
3
4
5

예제 출력 1

1
6.20

예제 입력 2

1
2
3
1
AA+A+
1

예제 출력 2

1
3.00

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys

input = sys.stdin.readline

N = int(input())
postfix = input().rstrip()
num_list = [int(input()) for _ in range(N)]

stack = []
for element in postfix:
if 'A' <= element <= 'Z':
stack.append(num_list[ord(element) - ord('A')])
else:
num2, num1 = stack.pop(), stack.pop()

if element == '+':
stack.append(num1 + num2)
elif element == '-':
stack.append(num1 - num2)
elif element == '*':
stack.append(num1 * num2)
elif element == '/':
stack.append(num1 / num2)

print('%.2f' % stack[0])

[백준] 2304번 창고 다각형

[백준] 2304번 창고 다각형

출처: [백준] 2304번 창고 다각형


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 4418 1870 1510 44.360%

문제

N 개의 막대 기둥이 일렬로 세워져 있다. 기둥들의 폭은 모두 1 m이며 높이는 다를 수 있다. 이 기둥들을 이용하여 양철로 된 창고를 제작하려고 한다. 창고에는 모든 기둥이 들어간다. 이 창고의 지붕을 다음과 같이 만든다.

  1. 지붕은 수평 부분과 수직 부분으로 구성되며, 모두 연결되어야 한다.
  2. 지붕의 수평 부분은 반드시 어떤 기둥의 윗면과 닿아야 한다.
  3. 지붕의 수직 부분은 반드시 어떤 기둥의 옆면과 닿아야 한다.
  4. 지붕의 가장자리는 땅에 닿아야 한다.
  5. 비가 올 때 물이 고이지 않도록 지붕의 어떤 부분도 오목하게 들어간 부분이 없어야 한다.

그림 1은 창고를 옆에서 본 모습을 그린 것이다. 이 그림에서 굵은 선으로 표시된 부분이 지붕에 해당되고, 지붕과 땅으로 둘러싸인 다각형이 창고를 옆에서 본 모습이다. 이 다각형을 창고 다각형이라고 하자.

img

그림1 . 기둥과 지붕(굵은 선)의 예

창고 주인은 창고 다각형의 면적이 가장 작은 창고를 만들기를 원한다. 그림 1에서 창고 다각형의 면적은 98 ㎡이고, 이 경우가 가장 작은 창고 다각형이다.

기둥들의 위치와 높이가 주어질 때, 가장 작은 창고 다각형의 면적을 구하는 프로그램을 작성하시오.


입력

첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 빈 칸을 사이에 두고 주어진다. L과 H는 둘 다 1 이상 1,000 이하이다.


출력

첫 줄에 창고 다각형의 면적을 나타내는 정수를 출력한다.


예제 입력 1

1
2
3
4
5
6
7
8
7
2 4
11 4
15 8
4 6
5 3
8 10
13 6

예제 출력 1

1
98

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import sys

input = sys.stdin.readline

N = int(input())
pillars = []
for _ in range(N):
idx, height = map(int, input().split())
pillars.append((idx, height))

pillars.sort(key=lambda x: x[0]) # 정렬

max_pillar = max(pillars, key=lambda x: x[1]) # 가장 높은 기둥찾기

# 땅에 기둥세우기
area = [0] * (pillars[-1][0] + 1)
for idx, height in pillars:
area[idx] = height
max_index = area.index(max_pillar[1]) # 높은 기둥의 인덱스찾기

temp = 0
total = 0
# 왼쪽부터 가장 높은 기둥까지
for i in range(max_index + 1):
if area[i] > temp:
temp = area[i]
total += temp

temp = 0
# 오른쪽부터 가장높은 기둥까지
for i in range(pillars[-1][0], max_index, -1):
if area[i] > temp:
temp = area[i]
total += temp

print(total)

[백준] 12605번 단어순서 뒤집기

[백준] 12605번 단어순서 뒤집기

출처: [백준] 12605번 단어순서 뒤집기


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
5 초 512 MB 1349 822 710 61.525%

문제

스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다.


입력

첫 행은 N이며, 전체 케이스의 개수이다.

N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다.

  • N = 5
  • 1 ≤ L ≤ 25

출력

각 케이스에 대해서, 케이스 번호가 x일때 “Case #x: “ 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다.


예제 입력 1

1
2
3
4
3
this is a test
foobar
all your base

예제 출력 1

1
2
3
Case #1: test a is this
Case #2: foobar
Case #3: base your all

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
import sys

input = sys.stdin.readline

N = int(input())

for i in range(N):
sentence = list(input().rstrip().split())
result = []
while sentence:
result.append(sentence.pop())
print('Case #{0}: {1}'.format(i + 1, ' '.join(result)))

[백준] 5397번 키로거

[백준] 5397번 키로거

출처: [백준] 5397번 키로거


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 27893 7211 4761 24.497%

문제

창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다.

키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다.

강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오.


입력

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이스를 입력했다면, ‘-‘가 주어진다. 이때 커서의 바로 앞에 글자가 존재한다면, 그 글자를 지운다. 화살표의 입력은 ‘<’와 ‘>’로 주어진다. 이때는 커서의 위치를 움직일 수 있다면, 왼쪽 또는 오른쪽으로 1만큼 움직인다. 나머지 문자는 비밀번호의 일부이다. 물론, 나중에 백스페이스를 통해서 지울 수는 있다. 만약 커서의 위치가 줄의 마지막이 아니라면, 커서 및 커서 오른쪽에 있는 모든 문자는 오른쪽으로 한 칸 이동한다.


출력

각 테스트 케이스에 대해서, 강산이의 비밀번호를 출력한다. 비밀번호의 길이는 항상 0보다 크다.


예제 입력 1

1
2
3
2
<<BP<A>>Cd-
ThIsIsS3Cr3t

예제 출력 1

1
2
BAPC
ThIsIsS3Cr3t

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import sys

input = sys.stdin.readline

T = int(input())

for _ in range(T):
stack = list(input().rstrip())
left, right = [], []

for x in stack:
if x == '<':
if left:
right.append(left.pop())
elif x == '>':
if right:
left.append(right.pop())
elif x == '-':
if left:
left.pop()
else:
left.append(x)

if right:
left.extend(reversed(right))

print(''.join(left))



----------------시간초과-------------------
import sys

input = sys.stdin.readline

T = int(input())

for _ in range(T):
stack = list(input().rstrip())
password = []

cur = 0
while stack:
temp = stack.pop()
if temp == '-' and stack:
stack.pop()
elif temp == '>':
cur -= 1
elif temp == '<':
cur += 1
else:
password.insert(cur, temp)
cur = 0

print(''.join(password))

2021년 07월 09일 금요일 IT뉴스

1. 라인, 글로벌 CBDC 정조준…블록체인 플랫폼 공개

라인, 글로벌 CBDC 정조준…블록체인 플랫폼 공개

라인플러스는 라인 파이낸셜 블록체인 홈페이지를 통해 누구나 이해하기 쉽게 CBDC에 대한 개념을 소개하고 있다. /사진=라인플러스

라인플러스는 이번에 오픈한 라인 파이낸셜 블록체인 홈페이지를 통해 CBDC를 위한 블록체인 시스템, 전 세계 각국의 CBDC 발행 현황 및 CBDC 에 대한 개념도 소개해 누구나 쉽게 볼 수 있도록 하고 있다.

라인 파이낸셜 블록체인은 금융 플랫폼에 최적화된 블록체인 플랫폼으로 CBDC 사업이 요구하는 결제 완결성을 보장하고, 빠른 속도와 많은 결제량을 처리할 수 있는 확장성을 제공하며 특히 라인이 글로벌 서비스를 운영한 기술력을 바탕으로 결제 정보에 대한 기밀성을 보장한다.

  • 중앙은행 발행 디지털화폐(CBDC)

2. 스포츠에 집중하는 카카오게임즈…코로나 타격에도 베팅 ‘턱턱’, 왜?

스포츠에 집중하는 카카오게임즈…코로나 타격에도 베팅 ‘턱턱’, 왜?

9일 관련 업계에 따르면 카카오게임즈는 글로벌 레저·스포츠 커뮤니케이션 전문 기업 세나테크놀로지와 손잡고, 스포츠 커뮤니케이션 플랫폼 영역을 개척하기 위해 카카오게임즈는 약 1000억을 들여 해당 기업을 계열사로 편입시켰고, 카카오 VX가 전개하는 스포츠 및 헬스케어 등 서비스와의 연계를 통한 스포츠 사업으로 확장해나간다는 계획이다.

KB금융지주가 지난달 발표한 ‘코로나19가 갈라놓은 골프연습장과 스크린골프장의 차별화’ 보고서에 따르면, 지난해 골프 인구는 515만명으로 전년 대비 46만명가량 증가했다. 그간 골프 시장을 눈여겨봐왔던 카카오는 자회사 카카오게임즈 산하에 2012년 설립됐던 옛 마음골프를 인수한 뒤 이름을 카카오 VX로 바꿨다.

카카오 VX는 성장력과 인지도를 동시에 키우는 데 무서운 속도를 내고 있으며, 이를 뒷받침하는 건, 게임기업으로 성장했던 경험을 바탕으로 LBS(위치기반), VR(가상현실), AI(인공지능) 등 첨단 기술을 융합해 대중을 대상으로 하는 신사업 영역을 펼쳐나가고 있었던 카카오게임즈의 전략적 투자다.


3. 티빙, 독일 분데스리가 독점 중계 “유로2020 열기 이어간다”

티빙, 독일 분데스리가 독점 중계 “유로2020 열기 이어간다”

티빙은 2021-22시즌 독일 분데스리가 경기 국내 독점 중계권을 확보하고, 다음달부터 티빙과 채널 tvN, XtvN을 통해 생중계한다. 총 150경기를 생중계하며, 이 중 65경기는 티빙에서만 단독 중계된다.

티빙 콘텐츠사업국 황혜정 국장은 “유로 2020에 보여주신 뜨거운 열기에 보답하고자 유럽 빅리그 중 하나인 분데스리가 생중계를 확정했다”며 “앞으로도 스포츠 생중계와 같이 다양한 장르의 독점 수급 라이브러리를 확대하며 콘텐츠 경쟁력을 강화할 계획”이라고 말했다.


4. “코로나19 퍼지면 안돼”…다시 전면 재택근무 돌입하는 게임사들

“코로나19 퍼지면 안돼”…다시 전면 재택근무 돌입하는 게임사들

9일 게임업계에 따르면 크래프톤, 넥슨, 넷마블, 엔씨소프트 등 주요 게임사들은 코로나19 확산을 막기 위해 오는 12일부터 전면 재택근무에 돌입한다.


5. “별점테러 그만”…네이버, 맛집 ‘키워드 리뷰’ 연내 도입(종합)

“별점테러 그만”…네이버, 맛집 ‘키워드 리뷰’ 연내 도입(종합)

네이버가 최근 사회적 문제가 되는 ‘별점 테러’, ‘리뷰 갑질’ 등을 막기 위해 매장 후기 시스템을 키워드 중심으로 전환하며, 당장은 리뷰 결과가 사용자에게 공개되지 않지만, 축적한 데이터를 3분기 중 가게의 ‘플레이스 페이지’에 반영할 예정이라고 네이버는 설명했다.

네이버는 8천명이 넘는 사용자와 약 1천명의 사업자 의견을 반영해 후기를 남길 수 있는 키워드를 선정했고, 선정된 키워드에는 부정적인 내용이 포함되지 않았기에 비판적인 피드백은 기존의 ‘텍스트 리뷰’를 활용해 남겨야 한다. 앞으로는 사장님에게만 전하는 비공개 리뷰 기능도 추가될 예정이다.


6. 핀테크 준비부족…마이데이터 본격 시행, 연말로 연기 가닥

핀테크 준비부족…마이데이터 본격 시행, 연말로 연기 가닥

당초 금융당국은 8월 초 시행을 목표로 준비했지만 신종 코로나바이러스 감염증(코로나19) 사태로 준비가 부족했다는 핀테크 업체들의 요청을 수용해 연기를 결정했다.

핀테크 업체들은 코로나19 여파로 비대면 IT(정보기술) 개발 수요가 커지면서 개발인력이 부족해졌고, 다양한 통합인증수단을 제공하기로 하면서 마이데이터 시스템 구축에도 추가로 시간이 필요하다고 주장했다.

[Spring Boot] 블로그 프로젝트 기본 세팅하기

[Spring Boot] 블로그 프로젝트 기본 세팅하기

기본 셋팅

프로그램

Windows 10
-----------------
IntelliJ : 코드작성

Docker - MySQL

MySQL Workbench

Postman

의존성 추가

springboot devtools

lombok

spring data JPA

mysql driver

spring security

spring web

​ OAuth2 client는 직접구현해보기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'

/** 추가 라이브러리 **/
implementation "org.springframework.security:spring-security-taglibs" // 시큐리티 태그 라이브러리
implementation "org.apache.tomcat.embed:tomcat-embed-jasper" // JSP 템플릿 엔진
implementation 'javax.servlet:jstl' // JSTL
[백준] 17608번 막대기

[백준] 17608번 막대기

출처: [백준] 17608번 막대기


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 (추가 시간 없음) 512 MB 6130 2829 2254 48.162%

문제

아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 6, 9, 7, 6, 4, 6 이다. 일렬로 세워진 막대기를 오른쪽에서 보면 보이는 막대기가 있고 보이지 않는 막대기가 있다. 즉, 지금 보이는 막대기보다 뒤에 있고 높이가 높은 것이 보이게 된다. 예를 들어, 그림과 같은 경우엔 3개(6번, 3번, 2번)의 막대기가 보인다.

img

N개의 막대기에 대한 높이 정보가 주어질 때, 오른쪽에서 보아서 몇 개가 보이는지를 알아내는 프로그램을 작성하려고 한다.


입력

첫 번째 줄에는 막대기의 개수를 나타내는 정수 N (2 ≤ N ≤ 100,000)이 주어지고 이어지는 N줄 각각에는 막대기의 높이를 나타내는 정수 h(1 ≤ h ≤ 100,000)가 주어진다.


출력

오른쪽에서 N개의 막대기를 보았을 때, 보이는 막대기의 개수를 출력한다.


예제 입력 1

1
2
3
4
5
6
7
6
6
9
7
6
4
6

예제 출력 1

1
3

예제 입력 2

1
2
3
4
5
6
5
5
4
3
2
1

예제 출력 2

1
5

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys

input = sys.stdin.readline

N = int(input())

stack = [int(input()) for _ in range(N)]

max_height = 0
cnt = 0
while stack:
temp = stack.pop()
if temp > max_height:
max_height = temp
cnt += 1

print(cnt)