[백준] 2167번 2차원 배열의 합

[백준] 2167번 2차원 배열의 합

출처: [백준] 2167번 2차원 배열의 합


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 17302 9928 7836 59.296%

문제

2차원 배열이 주어졌을 때 (i, j) 위치부터 (x, y) 위치까지에 저장되어 있는 수들의 합을 구하는 프로그램을 작성하시오. 배열의 (i, j) 위치는 i행 j열을 나타낸다.


입력

첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 합을 구할 부분의 개수 K(1 ≤ K ≤ 10,000)가 주어진다. 다음 K개의 줄에는 네 개의 정수로 i, j, x, y가 주어진다(i ≤ x, j ≤ y).


출력

K개의 줄에 순서대로 배열의 합을 출력한다. 배열의 합은 231-1보다 작거나 같다.


예제 입력 1

1
2
3
4
5
6
7
2 3
1 2 4
8 16 32
3
1 1 2 3
1 2 1 2
1 3 2 3

예제 출력 1

1
2
3
63
2
36

출처

  • 빠진 조건을 찾은 사람: iriszero
  • 잘못된 데이터를 찾은 사람: tncks0121

알고리즘 분류


소스코드

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

input = sys.stdin.readline

N, M = map(int, input().split())
matrix = [list(map(int, input().split())) for _ in range(N)]
K = int(input())

dp = [[0] * (M + 1) for _ in range(N + 1)]
for i in range(1, N + 1):
for j in range(1, M + 1):
dp[i][j] = matrix[i - 1][j - 1] + dp[i][j - 1] + dp[i - 1][j] - dp[i - 1][j - 1]

for _ in range(K):
i, j, x, y = map(int, input().split())
print(dp[x][y] - dp[x][j - 1] - dp[i - 1][y] + dp[i - 1][j - 1])

소스코드 (시간초과)

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

input = sys.stdin.readline

N, M = map(int, input().split())
matrix = [list(map(int, input().split())) for _ in range(N)]
K = int(input())

for _ in range(K):
i, j, x, y = map(int, input().split())
arr_sum = 0
for a in range(i, x + 1):
for b in range(j, y + 1):
arr_sum += matrix[a - 1][b - 1]
print(arr_sum)

[백준] 3046번 R2

[백준] 3046번 R2

출처: [백준] 3046번 R2


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 14772 12053 11178 82.788%

문제

두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 이 숫자를 받아 적는다. 그리고 나서 기쁜 마음으로 1년동안 이 숫자를 외우면서 산다.

상근이는 R1과 R2를 엄청난 고민 끝에 정했다. 작년에는 R1과 R2를 까먹어서 아무 숫자나 정해서 주었기 때문에, 올해는 까먹지 않기 위해서 평균 S도 같이 기억하려고 한다.

오늘은 정인이 생일이다. 5분 후에 상근이는 생일 선물로 두 숫자 R1과 R2를 말해주어야 하지만, 안타깝게도 R2를 까먹고 말았다. 하지만 R1과 S는 기억하고 있다!

상근이를 도와 R2가 몇 인지 구하는 프로그램을 작성하시오.


입력

첫째 줄에 두 정수 R1과 S가 주어진다. 두 수는 -1000보다 크거나 같고, 1000보다 작거나 같다.


출력

첫째 줄에 R2를 출력한다.


예제 입력 1

1
11 15

예제 출력 1

1
19

예제 입력 2

1
4 3

예제 출력 2

1
2

출처


알고리즘 분류


소스코드

1
2
3
4
R1, S = map(int, input().split())

print(S * 2 - R1)

[백준] 10797번 10부제

[백준] 10797번 10부제

출처: [백준] 10797번 10부제


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 11595 9291 8405 81.880%

문제

서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 것이다. 예를 들어, 자동차 번호의 일의 자리 숫자가 7이면 7일, 17일, 27일에 운행하지 못한다. 또한, 자동차 번호의 일의 자리 숫자가 0이면 10일, 20일, 30일에 운행하지 못한다.

여러분들은 일일 경찰관이 되어 10부제를 위반하는 자동차의 대수를 세는 봉사활동을 하려고 한다. 날짜의 일의 자리 숫자가 주어지고 5대의 자동차 번호의 일의 자리 숫자가 주어졌을 때 위반하는 자동차의 대수를 출력하면 된다.


입력

첫 줄에는 날짜의 일의 자리 숫자가 주어지고 두 번째 줄에는 5대의 자동차 번호의 일의 자리 숫자가 주어진다. 날짜와 자동차의 일의 자리 숫자는 모두 0에서 9까지의 정수 중 하나이다.


출력

주어진 날짜와 자동차의 일의 자리 숫자를 보고 10부제를 위반하는 차량의 대수를 출력한다.


예제 입력 1

1
2
1
1 2 3 4 5

예제 출력 1

1
1

예제 입력 2

1
2
3
1
1
1

예제 출력 2

1
2

예제 입력 3

1
2
5
1 3 0 7 4

예제 출력 3

1
0

출처


알고리즘 분류


소스코드

1
2
3
4
5
6
7
8
9
10
11
N = int(input())
car_list = list(map(int, input().split()))

count = 0

for car in car_list:
if N == car:
count += 1

print(count)

[백준] 2902번 KMP는 왜 KMP일까?

[백준] 2902번 KMP는 왜 KMP일까?

출처: [백준] 2902번 KMP는 왜 KMP일까?


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 11163 8826 7996 80.768%

문제

KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다.

또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman이다.

사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부른다.

  • 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것이다. 예를 들면, Knuth-Morris-Pratt이다. 이것을 긴 형태라고 부른다.
  • 두 번째로 짧은 형태는 만든 사람의 성의 첫 글자만 따서 부르는 것이다. 예를 들면, KMP이다.

동혁이는 매일매일 자신이 한 일을 모두 메모장에 적어놓는다. 잠을 자기 전에, 오늘 하루 무엇을 했는지 되새겨 보는 것으로 하루를 마감한다.

하루는 이 메모를 보던 중, 지금까지 긴 형태와 짧은 형태를 섞어서 적어 놓은 것을 발견했다.

이렇게 긴 형태로 하루 일을 기록하다가는 메모장 가격이 부담되어 파산될 것이 뻔하기 때문에, 앞으로는 짧은 형태로 기록하려고 한다.

긴 형태의 알고리즘 이름이 주어졌을 때, 이를 짧은 형태로 바꾸어 출력하는 프로그램을 작성하시오.


입력

입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 (‘-‘, 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드시 대문자이다. 그 외의 모든 문자는 모두 소문자이다.


출력

첫 줄에 짧은 형태 이름을 출력한다.


예제 입력 1

1
Knuth-Morris-Pratt

예제 출력 1

1
KMP

예제 입력 2

1
Mirko-Slavko

예제 출력 2

1
MS

예제 입력 3

1
Pasko-Patak

예제 출력 3

1
PP

출처


알고리즘 분류


소스코드1

1
2
3
4
5
6
7
input_string = list(input().split('-'))
output_string = ''

for x in input_string:
output_string += x[0]

print(output_string)

소스코드2

1
2
3
4
5
6
7
8
9
input_string = list(input().rstrip())
output_string = ''

for x in input_string:
if 'A' <= x <= 'Z':
output_string += x

print(output_string)

2021년 6월 14일 월요일 IT뉴스

1. 아마존·애플·페북·구글 미래는… 美하원, 초강도 빅테크 규제안 발의

아마존·애플·페북·구글 미래는… 美하원, 초강도 빅테크 규제안 발의 : 네이버 뉴스 (naver.com)

미 하원이 ‘IT 공룡’인 GAFA(구글·아마존·페이스북·애플)를 겨냥한 총 5가지 세부 법안으로 테크 기업의 분사나 사업 종료까지 거론하는 초고강도 규제 패키지를 꺼내들었다.

한편, 빅테크 기업들이 속한 로비 그룹인 ‘체임버 오브 프로그레스’는 “이 법안이 통과하면 소비자들은 인기 제품과 서비스를 사용할 권리를 박탈당할 것”이라고 주장했다.


2. 삼성 야심작 신형 폴더블폰 한달 빨리 나온다…“8월 27일 출시”

삼성 야심작 신형 폴더블폰 한달 빨리 나온다…“8월 27일 출시” : 네이버 뉴스 (naver.com)

13일 IT팁스터(정보 유출자) 존 프로서는 “갤럭시Z폴드3와 갤럭시Z플립이 8월 27일 금요일 정식 출시된다. 이날부터 판매가 시작될 것”이라고 말했다.

갤럭시Z폴드3 예상 이미지 [출처=트위터(@BenGeskin)]

갤럭시Z폴드3는 언더패널카메라(UPC) 기술, S펜 입력 지원 등 삼성전자의 최신 기술이 집약됐으며, 투톤 디자인과 위아래로 배치된 듀얼(2개) 카메라, 확 커진 커버 디스플레이 등이 특징이다. 커버 디스플레이는 1.1인치에서 1.82인치로 커진다.


3. 파국 치닫는 프로그램 사용료 갈등···OTT 방송 중단 IPTV로 확산하나

파국 치닫는 프로그램 사용료 갈등···OTT 방송 중단 IPTV로 확산하나 : 네이버 뉴스 (naver.com)

13일 업계에 따르면 양사 간 사용료 협상이 결렬되어, 지난 12일 자정부터 LG유플러스(032640)의 OTT인 U+모바일tv에서 CJ ENM 채널 실시간 방송 송출이 중단됐다.

KT 시즌과의 협상마저 결렬되면 사실상 통신사 OTT에서 CJ ENM의 실시간 방송 송출은 모두 중단되게 되며, 이 같은 갈등은 IPTV와의 협상까지 이어질 가능성이 높다. 강호성 CJ ENM 대표는 지난 달 31일 사내 행사에서 “시장의 80% 이상을 차지하는 IPTV사들이 조금 인색한 것 같다”고 지적했다.


4. [금융D-택트] 카카오가 만드는 보험사는 다를까?

[금융D-택트] 카카오가 만드는 보험사는 다를까? : 네이버 뉴스 (naver.com)

카카오손해보험은 빠른 시간 내 보험 종류를 다양화하진 않을 것으로 관측되며, 오히려 소액 단기보험을 위주로 보험 가입의 사용자 경험을 확 바꾸는데 집중할 것으로 보이고, 보험금 청구 과정에도 인공지능(AI) 등을 활용해 피로감을 낮출 것입니다.

가장 우려되는 부분은 카카오톡을 활용한 보험 가입이 ‘보험 모집’으로 봐야할지 ‘보험 광고’로 해석해야할지인데, 카카오톡의 배너를 활용해 카카오손해보험의 상품이 게재되고, 카카오 자회사 서비스를 이용할 때 관련 내용이 나온다면 이는 보험 계약을 적극적으로 체결하길 권유하는 모집 행위일지 단순 광고로 볼 수 있을지 해석이 분분하다.


2021년 6월 11일 금요일 IT뉴스

1. “리걸테크, 법률소비자 위한 IT서비스” [K-유니콘]

[“리걸테크, 법률소비자 위한 IT서비스” K-유니콘] : 네이버 뉴스 (naver.com)

정재성 로앤컴퍼니 부대표(사진)는 최근 파이낸셜뉴스와 인터뷰에서 “리걸테크는 법률정보 비대칭을 겪고 있는 법률소비자는 물론 법학전문대학원(로스쿨)에서 배출된 수많은 변호사들이 보다 안정적으로 법률 서비스 시장에 진입할 수 있도록 지원할 것”이라며 “대한변협 등과 합리적 해결방안을 이끌어 법률 서비스 대중화 및 선진화라는 경영목표를 이뤄나가겠다”고 강조했다.


2. [이젠 ESG] ③ 새 가치 입는 IT 업계

[이젠 ESG] ③ 새 가치 입는 IT 업계 : 네이버 뉴스 (naver.com)

엔씨소프트를 시작으로 넥슨과 넷마블 등 빅3와 중견 업체들로 ESG 경영이 본격화될 것으로 보이며, 양사 모두 자체 문화재단을 설립해 사회공헌 활동에 매진하고 있다는 공통점도 있다.

  • 넷마블은 2018년 넷마블문화재단을 설립하고 공익사업을 확대하고 있고, 2019년부터 꾸준히 개최해 온 ‘전국 장애학생 e페스티벌’과 정보경진대회는 물론, 2019년 3월에는 게임업계 최초로 ‘장애인선수단’을 창단해 장애인 체육 진흥과 장기적인 자립 지원에 힘쓰고 있다.

  • 넥슨 역시 2018년 2월 넥슨재단을 설립해 푸르메재단 넥슨어린이재활병원, 대전충남 넥슨어린이재활병원 건립을 후원하고 청소년 대상 코딩 대회인 ‘넥슨 청소년 프로그래밍 챌린지(NYPC)를 매년 개최하는 등 다양한 노력을 기울이고 있다.


3. 우티·카카오 T, ‘테슬라 마케팅’ 격전 벌인다

우티·카카오 T, ‘테슬라 마케팅’ 격전 벌인다 : 네이버 뉴스 (naver.com)

10일 서울 마포구 성산동 문화비축기지에서 열린 스마트모빌리티엑스포 카카오 모빌리티 전시관에 테슬라 X 택시가 전시돼 있다./정다은 기자

티가 테슬라 모델3을 활용해 무료 택시 이벤트를 진행하자, 카카오모빌리티는 상위 모델인 테슬라 모델X를 정식 서비스 차종으로 추가했으며 양사가 갈수록 치열해지는 모빌리티 시장에서 이용자 확보에 힘쓰고 있다.

다만 국산 세단을 사용하는 일반적인 국내 택시와 달리, 테슬라를 활용한 마케팅은 차량 비용 부담이 큰 만큼 이러한 마케팅이 지속될 수 있을지에 대해선 의구심이 따르며, 일례로 우티 서프라이즈 택시 행사는 이달 내 종료할 예정이고 우티 관계자는 “이벤트 종료 이후 테슬라 택시를 준비할 계획은 없다”고 했다. 카카오모빌리티도 테슬라 모델X 단 한대만을 운영할 예정이다.


4. 조용하던 ‘애플카 프로젝트’ 다시 가속페달 밟나

조용하던 ‘애플카 프로젝트’ 다시 가속페달 밟나 : 네이버 뉴스 (naver.com)

애플이 전기차 스타트업 카누(Carnoo) 공동 설립자인 울리히 크란츠를 전격 영입했고, 크란츠 영입은 여러 가지 면에서 많은 관심을 끌고 있다. 크란츠는 BMW에서 순수 전기차 개발을 주도했던 인물이며, BMW를 떠난 뒤엔 ‘전기차업계의 애플’로 불리던 카누 설립을 주도했다.


5. 넷플릭스가 온라인에 상점을 연 까닭은

넷플릭스는 현재 2억 명이 넘는 가입자를 확보해 1위 자리를 지키고 있지만 구독료 외에는 수입이 없어 고심하고 있고, 여기에 디즈니플러스와 피콕, 파라마운트플러스 등 후발 업체들이 계속 넷플릭스의 가입자들을 노리고 있다.

넷플릭스는 온라인상점을 지난해부터 준비한 것으로 보이며, 지난해 3월 나이키에서 근무하던 조시 사이먼을 소비자 제품 판매 담당 부사장으로 영입했고, 이후 소비자 제품팀 인원도 20명에서 60명으로 늘렸다.

[프로그래머스] Lv2.타겟넘버

[프로그래머스] Lv2.타겟넘버

출처: [코딩테스트 연습 타겟넘버]


문제

n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.

1
2
3
4
5
-1+1+1+1+1 = 3
+1-1+1+1+1 = 3
+1+1-1+1+1 = 3
+1+1+1-1+1 = 3
+1+1+1+1-1 = 3

사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.


제한

  • 주어지는 숫자의 개수는 2개 이상 20개 이하입니다.
  • 각 숫자는 1 이상 50 이하인 자연수입니다.
  • 타겟 넘버는 1 이상 1000 이하인 자연수입니다.

입출력

numbers target return
[1, 1, 1, 1, 1] 3 5

풀이

-


소스코드

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


def solution(numbers, target):
answer = 0
queue = deque()
queue.append((0, 0))
while queue:
idx, total = queue.popleft()

if idx == len(numbers):
if total == target:
answer += 1
else:
num = numbers[idx]
queue.append((idx + 1, total + num))
queue.append((idx + 1, total - num))
return answer

2021년 6월 09일 수요일 IT뉴스

1. 애플, 연결성 강화한 iOS15 공개…갤럭시도 페이스타임 된다

애플, 연결성 강화한 iOS15 공개…갤럭시도 페이스타임 된다

올해 WWDC의 키워드는 연결성으로 가장 눈에 띈 변화는 영상통화 서비스인 페이스타임이다. 그동안 아이폰이나 아이패드, 맥북 등 자사 기기에서만 사용 가능했던 페이스타임은 iOS15 업데이트 이후 안드로이드 스마트폰이나 윈도 기기에서도 작동된다.

이처럼 애플이 페이스타임을 강화시킨 이유는 코로나19 여파에 원격수업이나 재택근무 등이 확대된 상황에서 경쟁 서비스인 ‘줌’, ‘팀즈’ 등을 견제하기 위한 조치로 해석된다.


2. 3대 리스크에 갇힌 테슬라, 머스크의 제국 무너지고 있나

3대 리스크에 갇힌 테슬라, 머스크의 제국 무너지고 있나

승승장구하던 중국 시장에선 심각한 판매 부진에 빠졌고 글로벌 자동차 업체들은 신형 전기차를 앞세워 테슬라의 아성을 본격적으로 허물고 나섰다. 일론 머스크 창업자 겸 최고경영자(CEO)의 끊임없는 돌출 발언과 구설이 테슬라의 어려움을 가중시키면서 머스크의 핵심 측근들마저 회사를 떠나고 있다.


3. NYT·CNN 등 유력 언론 사이트 무더기 다운

NYT·CNN 등 유력 언론 사이트 무더기 다운

뉴욕타임스, 파이낸셜타임스, 블룸버그를 비롯한 세계 유력 뉴스 사이트들이 8일(현지시간) 한 때 무더기로 다운됐다고 CNBC를 비롯한 외신들이 일제히 보도했으며, 트위치, 핀터레스트, HBO 맥스, 훌루 스포티파이, 레딧 등도 비슷한 장애를 겪었다. 이번 사고는 클라우드 서비스 제공업체인 패스틀리(Fastly) 때문에 발생했다.

  • 패스틀리는 웹 사이트의 로딩 속도를 향상시키는 데 도움을 주는 역할을 한다. 또 트래픽 과부하를 완화시켜 분산서비스거부 등의 고격으로 사이트가 다운되는 것을 막아주는 서비스도 제공하고 있다

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

1. “진짜 같은 가짜?” 화제의 23세 ‘김래아’ 누구길래…

“진짜 같은 가짜?” 화제의 23세 ‘김래아’ 누구길래… : 네이버 뉴스 (naver.com)

진짜 사람이 아닌 ‘가상 인간’의 기술적 정교함이 극에 달하면서, 사회관계망서비스(SNS)를 통해 ‘팬층’을 확보하고 실제 브랜드 홍보 모델로 발탁되는 등 큰 인기를 끌고 있다.

얼핏 보면 실제 사람 같은 이 여성은 지난 1월 LG전자가 세계 최대 IT·가전 전시회 CES 2021에서 선보인 가상인간으로 ‘래아’(來兒)는 미래에서 온 아이라는 뜻으로 컴퓨터 그래픽으로 만들어진 외형에 인공지능(AI) 기술로 목소리를 입힌 캐릭터다.

가상 인간 김래아[인스타그램 캡처]


2. 세계 10위권 시가총액 기업, 14년후에는?

세계 10위권 시가총액 기업, 14년후에는? : 네이버 뉴스 (naver.com)

◆시가총액 10위권 기업 생존력은?

시장 분석가들은 기업가치를 평가할 때 기술적 혁신, 수익률, 기업인수합병, 유무형의 자산 등을 모두 종합적으로 고려하고 있으며, 이에 기업들이 시가총액 10위권을 10년 이상 유지하기 쉽지 않은 것으로 분석되고 있다. 실제로 지난 2004년 시가총액 10위권 기업 가운데 제너럴일렉트릭(GE), 엑슨모빌, 화이자, 시티그룹, 월마트, BP, AIG, 인텔, 뱅크오브아메리카(BoA)의 9개 기업이 현재 10위권 밖으로 밀려났고 AIG는 250위권에도 들지 못했고, IT 플랫폼 기업들이 급성장하며 이 자리를 차지했다.

◆애플 제칠만한 기업은 없나?

시장 분석가들은 14년후에 숙박공유 업체인 에어비앤비, 모바일결제 업체 스퀘어, 결제 서비스 업체 비자, 투자 및 헬스케어 서비스 업체 버크셔해서웨이, 전기차 제조사 테슬라 등이 새롭게 10위권에 진입할 업체로 봤으며, 시장 잠재력과 성장성 측면에서 애플을 추월할만한 기업으로 아마존과 MS, 에어비앤비, 테슬라 등을 거론하고 있다.


3. [팩플] ‘이해진 사람’을 건들수 있나···네이버 앞 3가지 질문

[팩플] ‘이해진 사람’을 건들수 있나···네이버 앞 3가지 질문 : 네이버 뉴스 (naver.com)

자수성가한 유능한 창업자, 직급 없이 ‘OO님’으로 부르는 수평적·자율적 문화, 과감한 투자와 기술력. 네이버·카카오로 대표되는 IT기업이 자랑해 온 새로운 기업 문화다. 그러나 이제 창업자의 아우라는 절대권력으로, 자율적이라는 조직 문화는 ‘사적 지배’로 흐르기 쉬운 ‘구조적 결함’에 시선이 모아진다.

① 이사회는 ‘이해진 사람’ 건드릴 수 있나

익명을 요구한 IT업계 인사는 “네이버 계열사 이사진을 창업자 측근 3~4인이 독식하는 걸 보라”고 했으며, 실제로 네이버 사업보고서에 따르면 최 COO는 네이버 내 8개사 임원을 겸하는 등, 소수의 본사 경영진이 계열사 임원직을 많게는 10곳 이상 겸하며, 모두 네이버 창립 때부터 이 GIO와 함께 한 이들이고, 이러한 창업자의 신뢰가 또 다른 권력 독점으로 이어질 수 있다는 지적이다.

② 수평적·자율적인 문화, 구성원도 동감하나

네이버는 2017년 초 임원 제도를 없앴다가 2019년 초 직원 성과급에 직결되며 스톡옵션 배분에도 영향을 줄 수 있는 인사평가권을 갖는, ‘책임리더’를 신설해 부활시켰다.

책임리더가 팀장을 거치지 않고 팀원에 업무지시하는 일이 잦아지면서 ,네이버 노조는 “이런 소통 방식이 직장 내 따돌림에 악용될 수 있다”고 주장하며 이명진 고려대 사회학과 교수는 “체계를 인정하지 않는 업무 지시는 중간 관리자를 지능적으로 고립시킬 수 있다”며 “호칭은 수평적이어도 행동은 군대식”이라고 지적했다.

③ 기술과 서비스, 국내와 글로벌, 다 잡으려다 놓친 것

네이버는 글로벌 진출과 국내 수성이라는 두 마리 토끼를 모두 잡으려 한다. 과감하게 투자하는 기술 기업이면서, 점유율에 민감한 서비스 기업이기도 하며, 노조는 이 사이에서 조직원들이 받는 실적 압박이 높아졌다고 했다.


[프로그래머스] 이중우선순위큐

[프로그래머스] 이중우선순위큐

출처: [코딩테스트 연습 이중우선순위큐]

출처


문제

이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.

명령어 수신 탑(높이)
I 숫자 큐에 주어진 숫자를 삽입합니다.
D 1 큐에서 최댓값을 삭제합니다.
D -1 큐에서 최솟값을 삭제합니다.

이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.


제한

  • operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다.
  • operations의 원소는 큐가 수행할 연산을 나타냅니다.
    • 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다.
  • 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시합니다.

입출력

operations return
[“I 16”,”D 1”] [0,0]
[“I 7”,”I 5”,”I -5”,”D -1”] [7,5]

입출력 예 1

16을 삽입 후 최댓값을 삭제합니다. 비어있으므로 [0,0]을 반환합니다.
7,5,-5를 삽입 후 최솟값을 삭제합니다. 최대값 7, 최소값 5를 반환합니다.


풀이

  • 조건 대로 시행
  • 최대값은 heapq.nlargest() 이용

소스코드

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


def solution(operations):
answer = []
heapq.heapify(answer)
for comm in operations:
com, num = comm.split()
if com == 'I':
heapq.heappush(answer, int(num))
elif com == 'D':
if not answer:
continue
else:
if num == '1':
answer.pop(answer.index(heapq.nlargest(1, answer)[0]))
elif num == '-1':
heapq.heappop(answer)

if not answer:
return [0, 0]
else:
return [heapq.nlargest(1, answer)[0], answer[0]]