2021년 3월 30일 화요일 IT뉴스

1. 카카오 “주식가치 올릴 것”..500원→100원 액면분할 승인

카카오 “주식가치 올릴 것”..500원→100원 액면분할 승인 : 네이버 뉴스 (naver.com)

카카오가 29일 정기 주주총회에서 1주당 가액을 500원에서 100원으로 액면분할 하기로 결정했고,국내 최대 음원 플랫폼 멜론의 사업 분할 안건도 승인했다.

여 대표는 “카카오는 앞으로 다양한 사업의 성장동력 지속과 사업모델 수익화에 힘쓰며 재무적인 개선을 보여 드릴 뿐 아니라 더 나아가 환경, 사회, 지배구조를 중시하는 ESG(환경·사회·지배구조) 경영에도 힘쓰며 기업가치를 높여갈 것”이라고 강조했다.

2. 삼성, 스마트폰 세계 1위 수성 ‘고군분투’

삼성, 스마트폰 세계 1위 수성 ‘고군분투’ : 네이버 뉴스 (naver.com)

img

삼성전자는 갤럭시S21 출시를 앞당기면서 지난달 ‘점유율 1위’ 탈환에 성공했지만, 애플과의 차이는 매우 근소하다. 삼성전자는 가성비 높은 갤럭시A 라인업을 갖추고 하반기 폴더블폰(접는 스마트폰) 대거 출시를 준비하는 등 격차를 벌리기 위한 전략에 매진하고 있다.

3. 카톡 닮은 ‘카카오워크’, 일상 속 스마트워크 야심

카톡 닮은 ‘카카오워크’, 일상 속 스마트워크 야심 : 네이버 뉴스 (naver.com)

img

국민 메신저 카카오톡(카톡)을 닮은 비대면 업무용 협업 플랫폼인 카카오엔터프라이즈의 ‘카카오워크(Kakao Work)’ 본격적인 시장 공략을 시작했다.

백상엽 카카오엔터프라이즈 대표는 “‘카카오워크’에서는 내 업무를 도와주는 진정한 AI 어시스턴트를 만날 수 있다”며 “우수한 벤처기업들과 상생하는 마켓플레이스를 구축하고 기존에 사용하던 IT 시스템과 내게 필요한 다양한 기능을 직접 커스텀할 수 있는 쉬운 IT 환경을 제공해 나가고 있다”고 밝혔다.

  • 카카오워크는 카톡을 닮은 편리한 사용성, 다양한 정보기술(IT) 서비스와의 유연한 연결, 인공지능(AI) 통합 검색 기술 등이 핵심이다. 화상회의, 전자결재. 근태관리 등 업무 플랫폼으로서 필수적인 기능이 무료 탑재돼 대기업뿐만 아니라 작은 중소기업이나 자영업자 등 다양한 규모의 기업에서 활용할 수 있다.

    최근엔 메시지 삭제, 워크스페이스 봇 관리 기능 등을 추가했고 ‘프리미엄 플랜’ 이상부터 화상회의 시 100명까지 입장할 수 있게 했다. 아울러 화상회의의 품질을 업데이트해 전반적인 성능과 연결 안정성을 향상시켰다.

4. ‘AI’로 무장한 네이버웍스, 외국인 직원과 협업도 거뜬

‘AI’로 무장한 네이버웍스, 외국인 직원과 협업도 거뜬 : 네이버 뉴스 (naver.com)

img네이버웍스 메시지 화면 (사진=네이버클라우드)

신종 코로나바이러스 감염증(코로나19)로 원격근무 시대가 열리면서 해외 협업툴이 밀려 들어오고 있는 가운데 네이버는 외산 제품의 공세에 맞서 국내외 시장을 확장해 나가고 있다.

이미 네이버웍스는 일본에선 ‘라인웍스’라는 이름으로 유료 업무용 메신저 시장 1위를 차지하고 있으며, 대웅제약, 웅진씽크빅 등 10만개가 넘는 기업의 직원들이 네이버웍스로 업무를 본다.

  • 네이버웍스의 강점은 네이버, 라인 서비스와 유사한 화면으로 누구나 쉽게 사용할 수 있다는 것이다. 메시지 기능은 읽은 사람 수를 넘어 읽은 사람이 누구인지까지 확인이 가능하며, 최대 200명까지 동시 접속할 수 있다.
    인공지능 기술 - AI번역서비스(파파고), OCR서비스

5. “사람 대신 사물·서비스 이동…패러다임 바꾸겠다”

“사람 대신 사물·서비스 이동…패러다임 바꾸겠다” : 네이버 뉴스 (naver.com)

img카카오모빌리티가 그리는 미래 속 소비자는 구매 희망하는 상품을 원하는 장소까지 교통 수단을 활용해 이동시킬 수 있다. 카카오모빌리티 플랫폼을 통해 차량이 아닌 물건을 호출하는 것이다. / 카카오모빌리티

경기도 판교 사무실에서 만난 신동훈 카카오모빌리티 MaaS(통합교통서비스)사업실 실장(상무)은 ‘사람의 이동’ 효율화에 초점을 맞추고 있는 현재 모빌리티 사업을 ‘사물과 서비스의 이동’으로 바꾸겠다고 밝혔다.

“카카오모빌리티는 택시, 바이크, 시외버스, 기차 등 다양한 이동 수단을 통해 방대한 데이터를 축적했고, 이를 기반으로 A에서 B까지 이동할 때 소비자가 어떤 상품과 서비스를 필요로 하는지, 어떻게 하면 다양한 이동 수단을 최적화해 연결할지에 대한 노하우를 많이 쌓아왔기 때문에 앞으로는 사람이 교통 수단을 이용해 이동할 필요 없이, 사물과 서비스가 교통 수단을 통해 고객 앞으로 직접 찾아오는 서비스를 제공하겠다.”

[백준] 1874번 스택 수열

[백준] 1874번 스택 수열

출처: [백준] 1874번 스택 수열


문제

스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.

1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라.


입력

첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다. 둘째 줄부터 n개의 줄에는 수열을 이루는 1이상 n이하의 정수가 하나씩 순서대로 주어진다. 물론 같은 정수가 두 번 나오는 일은 없다.


출력

입력된 수열을 만들기 위해 필요한 연산을 한 줄에 한 개씩 출력한다. push연산은 +로, pop 연산은 -로 표현하도록 한다. 불가능한 경우 NO를 출력한다.


예제 입력 1

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

예제 출력 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+
+
+
+
-
-
+
+
-
+
+
-
-
-
-
-

예제 입력2

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

예제 출력2

1
NO

힌트

1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다.


출처

  • 문제를 만든 사람: author5
  • 문제의 오타를 찾은 사람: bgjuw12
  • 데이터를 추가한 사람: djm03178

알고리즘 분류


시간 제한


풀이


소스코드

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
import sys

input = sys.stdin.readline

N = int(input())

stack = []
count = 0
result = []
flag = 1
for i in range(N):
temp = int(input())

while count < temp:
count += 1
stack.append(count)
result.append('+')

if stack[-1] == temp:
stack.pop()
result.append('-')
else:
flag = 0
print('NO')
break

if flag:
print('\n'.join(result))

[백준] 4949번 균형잡힌 세상

[백준] 4949번 균형잡힌 세상

출처: [백준] 4949번 균형잡힌 세상


문제

세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.

정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.

문자열에 포함되는 괄호는 소괄호(“()”) 와 대괄호(“[]”)로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.

  • 모든 왼쪽 소괄호(“(“)는 오른쪽 소괄호(“)”)와만 짝을 이뤄야 한다.
  • 모든 왼쪽 대괄호(“[“)는 오른쪽 대괄호(“]”)와만 짝을 이뤄야 한다.
  • 모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다.
  • 모든 괄호들의 짝은 1:1 매칭만 가능하다. 즉, 괄호 하나가 둘 이상의 괄호와 짝지어지지 않는다.
  • 짝을 이루는 두 괄호가 있을 때, 그 사이에 있는 문자열도 균형이 잡혀야 한다.

정민이를 도와 문자열이 주어졌을 때 균형잡힌 문자열인지 아닌지를 판단해보자.


입력

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호(“( )”) 대괄호(“[ ]”)등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다.

입력의 종료조건으로 맨 마지막에 점 하나(“.”)가 들어온다.


출력

각 줄마다 해당 문자열이 균형을 이루고 있으면 “yes”를, 아니면 “no”를 출력한다.


예제 입력 1

1
2
3
4
5
6
7
8
So when I die (the [first] I will see in (heaven) is a score list).
[ first in ] ( first out ).
Half Moon tonight (At least it is better than no Moon at all].
A rope may form )( a trail in a maze.
Help( I[m being held prisoner in a fortune cookie factory)].
([ (([( [ ] ) ( ) (( ))] )) ]).
.
.

예제 출력 1

1
2
3
4
5
6
7
yes
yes
no
no
no
yes
yes

힌트

7번째의 “ .”와 같이 괄호가 하나도 없는 경우도 균형잡힌 문자열로 간주할 수 있다.


출처

ICPC > Regionals > Asia Pacific > Japan > Japan Domestic Contest > 2011 Japan Domestic Contest B번

  • 문제의 오타를 찾은 사람: chminoo
  • 잘못된 번역을 찾은 사람: jh05013
  • 문제를 번역한 사람: occidere

알고리즘 분류


시간 제한


풀이


소스코드

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
import sys

input = sys.stdin.readline

while True:
string = input().rstrip()
if string == '.':
break
stack = []
flag = 1

for char in string:
if char == '(' or char == '[':
stack.append(char)
elif char == ')':
if not stack or stack[-1] == '[':
flag = 0
break
elif stack[-1] == '(':
stack.pop()
elif char == ']':
if not stack or stack[-1] == '(':
flag = 0
break
elif stack[-1] == '[':
stack.pop()

if flag == 1 and not stack:
print('yes')
else:
print('no')

2021년 3월 29일 월요일 IT뉴스

1. “어차피 개발자들에게 ‘평생직장’은 없다”

“어차피 개발자들에게 ‘평생직장’은 없다” : 네이버 뉴스 (naver.com)

img

IT·게임업계 개발자 영입 경쟁이 불붙자 네이버가 ‘비전공자 공채 신설’과 ‘정기적 경력 공채’라는 새로운 전략을 내놓았다.

29일 네이버는 올해 개발자 신규 채용 규모를 역대 최대인 900여명으로 정했다면서, 신입 공개 채용을 연 2회로 늘리고 비전공자 채용·육성 트랙을 신설한다고 밝혔다.

  • 비전공자 트랙이란 대학에서 컴퓨터공학 등 개발 관련 전공을 하지 않았어도 IT 개발자로 자질이 있으면 선발해 개발자로 육성하는 제도다.
  • 추가: 매월 1~10일 경력자를 뽑는 ‘월간 영입’ 프로그램을 신설해 매달 정기적으로 경력 사원을 모집한다. 첫 경력 사원 모집은 다음달 1일부터 시작한다.
    7월에 입사 예정인 상반기 신입 개발자 공채는 다음달 2일부터 12일까지 네이버 채용 홈페이지에서 모집을 실시하고, 12월에 입사하는 하반기 공채는 9월에 모집을 실시한다.

2. ‘국민비서’ 카카오·네이버, 건강검진·면허갱신 미리 알려준다

‘국민비서’ 카카오·네이버, 건강검진·면허갱신 미리 알려준다 : 네이버 뉴스 (naver.com)

img

카카오와 네이버가 29일부터 국민비서 알림 서비스를 시작하며, 이날부터 제공되는 서비스는 국민건강보험공단 건강검진 안내, 도로교통공단 운전면허 갱신 알림, 경찰청 교통 과태료 납부 안내 등 교통, 교육, 건강 등 3개 분야 8종이다.

한성숙 네이버 대표이사는 “네이버 전자문서 서비스는 앞으로도 사용자가 내게 필요한 생활밀착형 정보를 빠짐 없이 확인할 수 있고 차질 없이 일정을 챙기는 데 도움을 주도록 최선을 다할 것”이라고 말했다.

3. 하이닉스서 나온 매그나칩 중국에 매각 … “여전한 中 반도체 굴기 야욕”

하이닉스서 나온 매그나칩 중국에 매각 … “여전한 中 반도체 굴기 야욕” : 네이버 뉴스 (naver.com)

img매그나칩반도체 회사 로고. 매그나칩반도체 제공

2004년 하이닉스반도체(옛 SK하이닉스)에서 분사된 매그나칩반도체가 중국에 1조원대로 매각되며, 미국의 집중 견제로 반도체 자립이 어려워진 중국이 자금력을 앞세워 공격적인 해외 반도체 기업 인수에 나선 모양새다.

안기현 한국반도체산업협회 전무는 “매그나칩 인수에 대해 가장 우려되는 부분은 대상이 중국이라는 점으로 결국 중국에 기술과 인력이 넘어가게 될 것”이라며 “이에 따라 디스플레이 쪽에서 중국의 추격이 더 빨라질 수 있다”고 우려했다.

  • 매그나칩: 매그나칩반도체 주요 제품으로는 유기발광다이오드(OLED) 디스플레이 드라이버 구동칩(DDI)과 자동차용 전력 반도체 등이다. 매그나칩반도체의 DDI는 삼성전자에 이어 세계 2위에 올라 있다. 지난해 매출은 5억705만9,000달러(약 5,740억 원), 영업이익은 3,264만5,000달러(약 370억 원) 규모였다. 8,800여 명의 임직원 대부분이 한국인으로 구성된 매그나칩반도체 사업장은 모두 국내에 자리하고 있다.
  • DDI: DDI는 디스플레이를 구성하는 수많은 화소들을 조정해 다양한 색을 구현토록 하는 디스플레이 구동칩이다.

4. 화상회의 피로감에 가상 출퇴근, 노 테크 데이 나선 기업들

화상회의 피로감에 가상 출퇴근, 노 테크 데이 나선 기업들 : 네이버 뉴스 (naver.com)

최근 일부 기업들은 화상회의를 줄이려는 노력을 하고 있으며, 마이크로소프트는 다음 달부터 협업툴 ‘팀즈’ 내에 가상 출퇴근 기능(Virtual Commute)을 운영한다.

글은 매주 화요일 밤을 전자기기를 사용하지 않는 날로 삼고 ‘테크기기 없는 화요일(No tech Tuesday)’ 캠페인을 진행하고 있으며, 원격근무가 장기화하고 화상회의 솔루션 등 기기를 통한 비대면 소통이 강조되면서 일과 사생활의 경계가 없어지는 직원들을 위한 처방이다.

5. 클라우드 빌드·배포 등 단순업무, 오픈소스로 한 번에 해결

클라우드 빌드·배포 등 단순업무, 오픈소스로 한 번에 해결 : 네이버 뉴스 (naver.com)

img김동현 개발자가 깃허브에 공개한 SSM 샌드 커맨드(이미지=깃허브)

29일 만난 앰포의 김동현 개발자는 오픈소스 AWS SSM send-command(이하 샌드커맨드)를 깃허브를 통해 공개했으며, 이를 활용하면 개발자는 AWS 인스턴스에 접속하지 않고도 코드 테스트와 빌드, 배포 등의 업무를 자동으로 처리할 수 있다.

샌드커맨드는 최근 깃허브에 추가된 깃허브 액션스를 활용해 제작됐으며, 김 개발자는 “액션스는 개인 깃허브 저장소에 발생하는 모든 이벤트에 알림을 보내는 일종의 자동화 도구로 아직 많이 알려지지 않았지만 활용범위는 상당히 크다고 생각한다”며 “기존에는 젠킨스를 사용하려 했는데 오래된 기술이라 인터페이스도 불편하고 사용하기 쉽지 않았다”라고 설명했다.

2021년 3월 28일 일요일 IT뉴스

1. 웨이브 “1조 투자”에 판 커진다, 토종 OTT도 ‘쩐의 전쟁’

웨이브 “1조 투자”에 판 커진다, 토종 OTT도 ‘쩐의 전쟁’

SK텔레콤은 26일 “웨이브의 콘텐트 경쟁력 강화를 위해 25년까지 총 1조원 규모의 투자를 진행할 예정”이라며“최고 콘텐트 책임자(CCO)를 영입하고, 상반기 내 콘텐트 기획·개발을 전문으로 하는 스튜디오를 설립할 예정”이라고 밝혔다.

SK텔레콤은 당분간 독자적인 경쟁력을 강화하고, 글로벌 시장에 진출할 계획이며, 웨이브를 서비스하고 있는 콘텐츠웨이브의 이태현 대표는 “국내 방송사ㆍ제작사ㆍ지식재산권(IP) 보유 기업과 파트너십을 확대하고, 경쟁력 있는 중소 제작사를 발굴해 글로벌 OTT로 키울 것”이라고 말했다.

2. “삼성폰 가져와 아이폰 싸게 줄게” 애플 1위를 노린다 [IT선빵!]

“삼성폰 가져와 아이폰 싸게 줄게” 애플 1위를 노린다 [IT선빵!]

애플 아이폰이 본격적으로 점유율 확대를 꾀하고 있으며, 새로운 보급형 아이폰 출시와 함께 삼성 갤럭시로 대표되는 ‘안드로이드폰’ 이용자까지 노리고 있다.

27일 업계에 따르면 애플은 그동안 자사 제품에 한해서만 보상프로그램을 제공해 왔지만, 안드로이드폰을 포함시켰고, 안드로이드폰으로 확대한 것은 아이폰의 시장 점유율을 더욱 확대하기 위한 것으로 보인다.

3. 네이버도 “당근?!” ‘이웃 톡’으로 지역커뮤니티 공략

네이버도 “당근?!” ‘이웃 톡’으로 지역커뮤니티 공략 : 네이버 뉴스 (naver.com)

네이버는 지역 이웃이라면 네이버 카페 내 누구나 자유롭게 글을 쓰고 소통할 수 있는 ‘이웃 톡’ 서비스를 출시했다고 27일 밝혔으며, 이웃 톡 서비스는 모바일 웹과 네이버 카페 애플리케이션(앱) ‘이웃’ 탭에서 이용할 수 있다. 현재 위치 기반으로 ‘이웃 인증’을 완료하면 게시글을 작성할 수 있다.

네이버 그룹&CIC(사내독립기업) 김정미 책임리더는 “코로나19 장기화로 취미, 소비 활동 등이 주변 지역 중심으로 이뤄지면서 이웃과 소통하고 싶은 사용자들이 많아지고 있다”며 “네이버 카페의 이웃 톡 서비스를 통해 더욱 자유롭게 주변 이웃들과 동네 정보를 교환하고 이야기를 나눌 수 있기를 기대한다”고 전했다.

4. 야놀자, 숙박예약 넘어 ‘여가 플랫폼’ 도약… B2B로 글로벌 공략 [K-유니콘]

야놀자, 숙박예약 넘어 ‘여가 플랫폼’ 도약… B2B로 글로벌 공략 [K-유니콘]

글로벌 여가 플랫폼 기업 야놀자는 국내 기업공개(IPO)는 물론 해외상장도 모색 중이며, 특히 야놀자는 전 세계 170개국에서 운영되는 호텔, 레저시설, 레스토랑 등 2만6000여개 고객사에게 클라우드 기반 호텔관리 시스템(PMS) 등 SaaS(서비스형 소프트웨어)를 제공하며 글로벌 역량을 높이고 있다.

야놀자는 또 올해 완전 통합된 호텔 자동화 솔루션 ‘와이플럭스(Y FLUX)’를 출시한고, 이는 SW를 서버에 직접 설치해 운영하는 기존 온프레미스 방식과 달리 와이플럭스는 호텔의 모든 운영 요소를 클라우드 기반으로 연결해 데이터를 실시간 공유하며, 야놀자 측은 “코로나 펜데믹이 끝나고 다시 여행 수요가 많아지는 시점에 야놀자는 여행의 모든 것을 하나의 플랫폼으로 연결하는 ‘슈퍼앱 전략’으로 해당 수요를 충분히 소화할 수 있다”며 “글로벌 클라우드 기반 PMS 사업자로서도 B2B영역에서 가파른 성장세를 이어갈 것”이라고 강조했다.

  • PMS(Property Management System): 호텔 자산 관리 시스템- 숙박업소 운영 전반에 필요한 객실 판매, 예약, 고객, 재무, 수익률 등을 한 번에 관리

5. 클라우드 속 내 데이터는 안전할까?…”컨피덴셜 컴퓨팅으로 신뢰 확보”

클라우드 속 내 데이터는 안전할까?…”컨피덴셜 컴퓨팅으로 신뢰 확보”

힐러리 헌터(Hillery Hunter) IBM 클라우드 CTO는 컨피덴셜 컴퓨팅을 **”컨피덴셜 컴퓨팅(Confidential Computing)은 클라우드에서 신뢰성을 확보하게 해주는 기술”**이라고 설명하며, “기술적으로 컨피덴셜 컴퓨팅은 누군가 클라우드에서 업무를 하면서도 프라이버시를 지킬 수 있게 하는 것”이라고 말했다.

즉 클라우드 위에서 독립적인 공간을 만든다는 것으로 여러 사람과 같이 클라우드에서 일을 하지만, 개인 또는 팀이 원하는 것에 대해서는 독립된 권한을 가지게 되는 것이고, 클라우드 제공자도 개입할 수 없다.

  • 온프레미스(On-Premiss): 클라우드가 아닌 기업이 직접 데이터 서버를 운영하는 것
[백준] 9012번 괄호

[백준] 9012번 괄호

출처: [백준] 9012번 괄호


문제

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다.

여러분은 입력으로 주어진 괄호 문자열이 VPS 인지 아닌지를 판단해서 그 결과를 YES 와 NO 로 나타내어야 한다.


입력

입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 주어진다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 한 줄에 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다.


출력

출력은 표준 출력을 사용한다. 만일 입력 괄호 문자열이 올바른 괄호 문자열(VPS)이면 “YES”, 아니면 “NO”를 한 줄에 하나씩 차례대로 출력해야 한다.


예제 입력 1

1
2
3
4
5
6
7
6
(())())
(((()())()
(()())((()))
((()()(()))(((())))()
()()()()(()()())()
(()((())()(

예제 출력 1

1
2
3
4
5
6
NO
NO
YES
NO
YES
NO

예제 입력 2

1
2
3
4
3
((
))
())(()

예제 출력 2

1
2
3
NO
NO
NO

힌트


출처


알고리즘 분류


시간 제한


풀이


소스코드 1

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

input = sys.stdin.readline

T = int(input())

for _ in range(T):
string = list(input().rstrip())
while len(string) != 0:
if string[0] == ')':
print("NO")
break
else:
if ')' in string:
string.remove(')')
string.remove('(')
else:
print("NO")
break

if len(string) == 0:
print("YES")

소스코드 2

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

input = sys.stdin.readline

T = int(input())

for _ in range(T):
string = list(input().rstrip())

vps_sum = 0
for x in string:
if x == '(':
vps_sum += 1
elif x == ')':
vps_sum -= 1
if vps_sum < 0:
print("NO")
break

if vps_sum == 0:
print('YES')
elif vps_sum > 0:
print('NO')

[백준] 10773번 제로

[백준] 10773번 제로

출처: [백준] 10773번 제로


문제

나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.

재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.

재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다.

재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자!


입력

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)

이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 “0” 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.

정수가 “0”일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.출력

출력은 표준 출력을 사용한다. 만일 입력 괄호 문자열이 올바른 괄호 문자열(VPS)이면 “YES”, 아니면 “NO”를 한 줄에 하나씩 차례대로 출력해야 한다.


출력

재민이가 최종적으로 적어 낸 수의 합을 출력한다. 최종적으로 적어낸 수의 합은 231-1보다 작거나 같은 정수이다.


예제 입력 1

1
2
3
4
5
4
3
0
4
0

예제 출력 1

1
0

예제 입력 2

1
2
3
4
5
6
7
8
9
10
11
10
1
3
5
4
0
0
7
0
0
6

예제 출력 2

1
7

힌트

  • 예제 2의 경우를 시뮬레이션 해보면,

    • [1]
    • [1,3]
    • [1,3,5]
    • [1,3,5,4]
    • [1,3,5] (0을 불렀기 때문에 최근의 수를 지운다)
    • [1,3] (0을 불렀기 때문에 그 다음 최근의 수를 지운다)
    • [1,3,7]
    • [1,3] (0을 불렀기 때문에 최근의 수를 지운다)
    • [1] (0을 불렀기 때문에 그 다음 최근의 수를 지운다)
    • [1,6]

    합은 7이다.


출처


알고리즘 분류


시간 제한


풀이


소스코드

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

input = sys.stdin.readline

K = int(input())

stack_list = []
for _ in range(K):
comm = int(input())
if comm == 0:
stack_list.pop()
else:
stack_list.append(comm)

print(sum(stack_list))

2021년 3월 27일 토요일 주간 IT 뉴스 - 메타버스

개요

이번 한 주간 메타버스에 관한 많은 기사들이 올라왔다. 메타버스라는 단어는 이번에 처음들어봤고, 흥미로운 이야기가 많았다. 또 한, 개인적으로 앞으로 이 분야의 발전이 기대된다.
그래서 그동안 올라온 기사와 관련된 내용 정리와 내 생각을 정리해보았다.


메타버스란?

메타버스는 가공·추상을 의미하는 ‘메타’(Meta)와 현실세계를 가리키는 ‘유니버스’(Universe)의 합성어로 ‘3차원(3D) 가상세계’를 일컫는 말이다. 사용자의 몸은 현실에 있지만 메타버스에 접속하면 무엇이든 현실처럼 누릴 수 있는 가상공간이 펼쳐진다.

  • 쉽게 VR, AR 등등 기술의 확장판 같다.

그리고 기존의 단순 가상세계와도 구분된다. 플랫폼 제공자가 판매자, 사용자는 소비자의 역할만 하는 게 아니라 각각 서로 재화와 서비스를 사고팔 수 있다. 여기에 증강현실(AR)·확장현실(XR)·5세대(5G) 통신 같은 기술 발전이 더해져 가상과 현실 사이의 간극이 좁아지고 있다.


메타버스에 대한 관심

최근 메타버스에 대한 관심이 급증한 것은 미국의 메타버스 게임 플랫폼 기업 로블록스가 지난 10일 미국 증시에 상장하면서다. 로블록스는 아바타를 꾸미고 친구들과 각종 경험을 즐길 수 있는 플랫폼을 제공해 메타버스 대장주로 꼽힌다.

해외 - 로블록스

미국은 신종 코로나 바이러스 감염증(코로나19) 사태로 인한 거리두기로 집에서 게임하는 아이들이 증가하였고, 이에 로블록스에 접속하여 가상세계에서 친구들을 만나는 경우가 많아졌다.

로블록스의 월간 활성 이용자 수(MAU)는 약 1억5000만 명에 달하고, 이 중 3분의 1은 16세 미만이다. 미국 912세 어린이의 3분의 2가 로블록스를 하는 것으로 알려졌다. 즉 미국의 Z세대(1990년대 중반2000년대 초반 출생자) 중 절반 이상이 로블록스를 즐기는 것으로 알려졌다.

미국인 이든 가브론스키(20)는 ‘로블록스’가 무료로 제공하는 개발도구를 이용하여 만든 게임을 통해 지난달 4만9000달러(약 5500만원)를 벌었다. 즉 가상세계에서 누구나 플레이어가 될 수 있고 동시에 게임 개발자가 될 수 있다. 친구들과 프라이빗 룸을 만드는 소셜미디어(SNS) 기능도 있다. 엔터테인먼트 기능도 빼놓을 수 없다. 미국의 유명 래퍼 릴 나스 엑스가 지난해 11월 로블록스에서 개최한 가상 콘서트에는 이틀 동안 약 3300만 명이 몰렸다.

국내

네이버의 가상 세계 플랫폼인 ‘제페토’는 10대들을 겨냥한 국내 대표적인 아바타 플랫폼으로 자리 잡아가고 있다.

SK텔레콤은 지난해 혼합현실(MR) 서비스 컴퍼니를 신설하는 등 메타버스 서비스 확장에 박차를 가하고 있다.

LG전자는 닌텐도의 스위치 게임 ‘모여봐요 동물의 숲’을 활용한 올레드(OLED·유기발광다이오드) TV 마케팅을 시작한다고 했으며, 동물의 숲에 ‘올레드 섬’을 만들고, 게이머들에게 스포츠와 영화·게임 컨셉트로 꾸며진 올레드 TV의 체험 기회를 제공한다.

기타

일본 애니메이션 ‘소드아트온라인’, 영화 ‘레디 플레이어 원’ 등 이미 메타버스라는 개념을 포함한 미디어도 등장했었고, 글로벌 회계·컨설팅 그룹인 프라이스워터하우스쿠퍼스(PwC)는 메타버스의 기술적 근간을 형성하는 확장현실(XR) 시장이 2025년 537조원에서 2030년 1천700조원으로 성장할 것으로 내다봤다.


기술적 기대

  • VR, AR 등 기술, 5G네트워크, 클라우드 컴퓨팅

실제 이미지와 유사한, 고성능의 텍스쳐를 구현하기 위한 그래픽성능이 필요할 것이다. 하지만, 일반 사용자에게 고성능 그래픽 성능을 요구하는 것은 요즘 추세와 맞지 않다고 생각한다. 이에 현재 지속적으로 성장중인 ‘클라우드 스트리밍 게임’의 기술이 이용될 것이다.
클라우드 컴퓨팅 기술의 발전으로 사용자가 고성능의 그래픽카드 없이 간단히 기기만 착용한 채, 고성능 클라우드 서버에 접속하여 스트리밍을 통해 메타버스 플랫폼 기술을 즐길 수 있을 것이다.

위와 동시에 5G 네트워크 기술 또한 기반이 될것이다.

사업적 기대

  • 메타버스는 이를 구현할 기반 기술과 게임, 엔터, 교육, 의료 등의 영역에서 영향력을 확대해나가며 급성장할 것으로 예상

메타버스의 수익모델은 게임 아이템 판매에서 마케팅 솔루션 제공, 이커머스·콘서트 개최 등 점점 현실세계와 연계하는 쪽으로 진화하고 있다.
이승환 소프트웨어정책연구소 지능데이터연구팀장은 “최근의 메타버스는 인공지능(AI)·XR·5G 등 신기술과 시너지를 내면서 현실과 가상의 경계를 허물어뜨리고 있다”며 “조만간 교육이나 의료 분야에도 적용될 것”이라고 내다봤다.


부정적 시선… 과연?

반면 호기심이나 흥밋거리에 그칠 수 있다고 비관론도 있다. 코로나19로 반사이익을 얻었을 뿐 ‘대세’가 될 수 없다는 지적이다. 이미 2003년 미국의 린든랩은 ‘세컨드 라이프’라는 3D 가상세계 서비스를 선보였으나 실패했다. 국내에는 1998년 등장했던 사이버 가수 ‘아담’이 있다. 당시 앨범 판매량 20만여 장, 광고수익으로 5억여 원을 벌었으나 반짝인기에 그쳤다.

하지만, 과거에 비해 가격은 싸지고, 성능은 비약적으로 발전했다 .위에서 언급한 클라우드 스트리밍 기술은 PC와 모바일, 콘슬 등과 게임 플랫폼의 경계를 허물고 있다. 또한 메타버스를 지원하는 가상현실(VR)·AR 등 ‘몰입 기기’의 가격도 내려가고 있고, 몰입 기기의 평균 가격은 1991년 41만 달러(약 4억6000만원)에서 2020년 2만 달러(약 2200만원) 수준으로 감소했고, 10년 뒤에는 1700 달러(약 192만원)까지 하락할 전망이다.

그렇기 때문에 일반 소비자들도 쉽게 즐길 수 있는 수준이 되어가고 있다.


기타 추가 생각

로블록스를 생각하면, 메타버스라는 기술의 성장 방향은 무궁무진한 것 같다. 기술이 충분히 뒷받친다면 저 개념은 현실세계 모든 분야에 적용할 수 있다고 생각한다.

LG전자가 동물의 숲에서 하는 OLED광고처럼 사람들은 광고를 공간과 시간의 제약없이 체험할 수 있을 것이다.

콘서트나 연극 등과 같은 것 또한 충분히 집에서 즐길 수 있을 것이며,

실시간 스포츠경기를 실제 경기장에 있는 것과 같은 느낌을 받으며 관람할 수 있을 것이다.

가상현실을 이용한 심리치료 또한 충분히 가능하며…

메타버스가 여러 기술과 복합적으로 작용하면 지금 우리가 생활하는 현실은 크게 바뀔 것으로 추측한다.



기사 출처

출처: 중앙일보 반짝 유행 vs 1700조 성장···요즘 난리난 메타버스 미래는

42조원 가치 ‘로블록스’…게임 만들고 친구와 즐겨

[백준] 10828번 스택

[백준] 10828번 스택

출처: [백준] 10828번 스택


문제

정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.

명령은 총 다섯 가지이다.

  • push X: 정수 X를 스택에 넣는 연산이다.
  • pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
  • size: 스택에 들어있는 정수의 개수를 출력한다.
  • empty: 스택이 비어있으면 1, 아니면 0을 출력한다.
  • top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.

입력

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.


출력

출력해야하는 명령이 주어질 때마다, 한 줄에 하나씩 출력한다.


예제 입력 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
14
push 1
push 2
top
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
top

예제 출력 1

1
2
3
4
5
6
7
8
9
10
11
2
2
0
2
1
-1
0
1
-1
0
3

예제 입력 2

1
2
3
4
5
6
7
8
7
pop
top
push 123
top
pop
top
pop

예제 출력 2

1
2
3
4
5
6
-1
-1
123
123
-1
-1

힌트


출처


알고리즘 분류


시간 제한


풀이


소스코드

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
import sys

input = sys.stdin.readline

N = int(input())
stack = []
for _ in range(N):
command = list(input().split())
if command[0] == 'push':
stack.append(command[1])
elif command[0] == 'pop':
if not stack:
print(-1)
else:
print(stack.pop())
elif command[0] == 'size':
print(len(stack))
elif command[0] == 'empty':
if not stack:
print(1)
else:
print(0)
elif command[0] == 'top':
if not stack:
print(-1)
else:
print(stack[-1])

[백준] 1009번 분산처리

[백준] 1009번 분산처리

출처: [백준] 1009번 분산처리


문제

재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다.

1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, … ,

10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, …

총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라.


입력

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000)


출력

각 테스트 케이스에 대해 마지막 데이터가 처리되는 컴퓨터의 번호를 출력한다.


예제 입력 1

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

예제 출력 1

1
2
3
4
5
1
7
6
1
9

힌트


출처


알고리즘 분류


시간 제한


풀이


소스코드

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

input = sys.stdin.readline

T = int(input())

for _ in range(T):
a, b = map(int, input().split())
result = [(a ** i) % 10 for i in range(1, 5)]
result = result[(b % 4) - 1]
if result != 0:
print(result)
else:
print(10)