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

1. 삼성전자, 5G보다 50배 빠른 6G THz 무선통신 시연 성공

삼성전자, 5G보다 50배 빠른 6G THz 무선통신 시연 성공 : 네이버 뉴스 (naver.com)

삼성리서치 아메리카(SRA) 실험실에서 삼성전자 연구원들이 140㎓ 통신 시스템을 시연하고 있다. [삼성전자 제공]

삼성전자는 미국 샌타바버라 캘리포니아 주립대UCSB)와 6세대 이동통신(6G) 테라헤르츠(THz) 대역에서 통신 시스템 시연에 성공했다고 16일 밝혔다.

6G가 상용화되면 통신 성능의 획기적인 개선으로 몰입형 확장현실(XR)이나 홀로그램과 같은 신규 서비스가 모바일 단말에서도 지원이 가능해지고 이동 통신 기술의 적용 영역이 위성 통신이나 도심 항공 모빌리티까지 확장될 것으로 예상된다.

  • THz 대역은 100기가헤르츠(GHz)~10THz 사이의 주파수 대역을 의미한다.
  • THz 대역은 데이터 전송 속도가 최고 20기가비피에스(Gbps)인 5세대 이동통신(5G) 대비 최대 50배 빠른 1테라비피에스(Tbps·1초에 1조 비트를 전송하는 속도)를 목표로 하는 6G 통신의 후보 주파수 대역으로 꼽히고 있다.

2. 윤곽 드러낸 ‘윈도11’··· 개발 취소한 윈도10X의 흔적이 엿보인다

윤곽 드러낸 ‘윈도11’··· 개발 취소한 윈도10X의 흔적이 엿보인다 : 네이버 뉴스 (naver.com)

15일(현지시각) 더 버지(The Verge) 등 외신은 중국의 웹사이트 ‘바이두’에 윈도11의 모습이 유출됐다고 보도했으며 유출된 내용은 사용자 인터페이스(UI)와 시작 메뉴 등 스크린샷이다.

한편 MS의 차세대 윈도가 윈도11이었다는 소식이 전해지며, MS가 앞서 윈도10을 출시하며 “윈도10은 윈도의 마지막 버전이 될 것”이라고 발표한 바 있기 때문에 윈도10 이용자들의 불만은 커지고 있다.


3. 삼성도, LG도 모두 美 간다…CES 2022, 코로나 딛고 오프라인 전시 참가 ‘후끈’

삼성도, LG도 모두 美 간다…CES 2022, 코로나 딛고 오프라인 전시 참가 ‘후끈’ : 네이버 뉴스 (naver.com)

16일 삼성전자와 LG전자에 따르면 내년 1월 5일부터 8일까지 미국 라스베이거스에서 열리는 CES의 오프라인 전시에 참가한다. 삼성전자는 내년 CES에서 QD디스플레이를 활용한 TV 신제품을 선보일 것으로 예상되고, LG전자는 초고화질 OLED TV를 소개한다는 계획이며 또 AI와 로봇기술, 자동차 전장 등도 전시할 것으로 보인다.


4. 테크핀의 공습…대출시장 빅뱅

테크핀의 공습…대출시장 빅뱅 | 한경닷컴 (hankyung.com)

15일 금융권에 따르면 네이버의 금융 자회사 네이버파이낸셜은 한국핀테크산업협회를 통해 정부의 대환대출 중개 플랫폼에 참여하고 싶다는 의사를 금융결제원과 금융당국에 전달했다.

애초 새 플랫폼에는 대출을 취급하는 금융사 외에 기존에 대출 비교 서비스를 영위하던 13개 핀테크업체 ( 토스, 카카오페이, 핀다, 페이코 등)만 참여할 예정이었지만, 금융위 관계자는 “네이버 같은 강력한 플랫폼이 참여하면 대환대출 서비스의 접근성이 더 좋아진다”며 “금융사와 빅테크 간 건전한 경쟁을 통해 금융소비자 혜택이 늘어날 것”으로 기대했다.

  • 정부의 대환대출 중개 플랫폼: 각 금융사의 대출 조건을 소비자가 비교해보고 자유롭게 다른 대출로 갈아탈 수 있는 개방된 플랫폼

5. 대출금리 비교, 실시간 해외 송금… 영토 넓히는 핀테크

대출금리 비교, 실시간 해외 송금… 영토 넓히는 핀테크 - 조선일보 (chosun.com)

  • P2P(온라인 대출 중개) 금융은 온라인 플랫폼을 통해 대출 희망자와 돈을 댈 수 있는 개인 투자자를 연결해주는 것이다.

대출 희망자는 5~15%의 중금리로 대출을 받을 수 있고, 투자자는 그에 준하는 수익률을 기대할 수 있지만, 다만 돈을 떼일 수 있다는 우려가 컸다. 지난 10일 ‘8퍼센트’ ‘렌딧’ ‘피플펀드컴퍼니’ 등 3사가 온라인 투자 연계 금융법상 최초 등록됐으며, 금융 당국의 관리, 감독을 받으며 투자자 보호 조치가 시행돼 상대적으로 안심하고 이용할 수 있다.

[백준] 11723번 집합

[백준] 11723번 집합

출처: [백준] 11723번 집합


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1.5 초 4 MB (하단 참고) 32627 10094 7070 30.218%

문제

비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.

  • add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.
  • remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.
  • check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)
  • toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)
  • all: S를 {1, 2, …, 20} 으로 바꾼다.
  • empty: S를 공집합으로 바꾼다.

입력

첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다.

둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.


출력

check 연산이 주어질때마다, 결과를 출력한다.


예제 입력 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
26
add 1
add 2
check 1
check 2
check 3
remove 2
check 1
check 2
toggle 3
check 1
check 2
check 3
check 4
all
check 10
check 20
toggle 10
remove 20
check 10
check 20
empty
check 1
toggle 1
check 1
toggle 1
check 1

예제 출력 1

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

출처


알고리즘 분류


소스코드

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

M = int(input())
S = set()

for _ in range(M):
comm = input().strip().split()

if comm[0] == 'add':
S.add(int(comm[1]))
elif comm[0] == 'remove':
S.discard(int(comm[1]))
elif comm[0] == 'check':
if int(comm[1]) in S:
print(1)
else:
print(0)
elif comm[0] == 'toggle':
if int(comm[1]) in S:
S.discard(int(comm[1]))
else:
S.add(int(comm[1]))
elif comm[0] == 'all':
S = set([i for i in range(1, 21)])
elif comm[0] == 'empty':
S = set()

[백준] 2504번 괄호의 값

[백준] 2504번 괄호의 값

출처: [백준] 2504번 괄호의 값


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 29463 7308 5555 27.818%

문제

4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다.

  1. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다.
  2. 만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다.
  3. X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다.

예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다.

  1. ‘()’ 인 괄호열의 값은 2이다.
  2. ‘[]’ 인 괄호열의 값은 3이다.
  3. ‘(X)’ 의 괄호값은 2×값(X) 으로 계산된다.
  4. ‘[X]’ 의 괄호값은 3×값(X) 으로 계산된다.
  5. 올바른 괄호열 X와 Y가 결합된 XY의 괄호값은 값(XY)= 값(X)+값(Y) 로 계산된다.

예를 들어 ‘(()[[]])([])’ 의 괄호값을 구해보자. ‘()[[]]’ 의 괄호값이 2 + 3×3=11 이므로 ‘(()[[ ]])’의 괄호값은 2×11=22 이다. 그리고 ‘([])’의 값은 2×3=6 이므로 전체 괄호열의 값은 22 + 6 = 28 이다.

여러분이 풀어야 할 문제는 주어진 괄호열을 읽고 그 괄호값을 앞에서 정의한대로 계산하여 출력하는 것이다.


입력

첫째 줄에 괄호열을 나타내는 문자열(스트링)이 주어진다. 단 그 길이는 1 이상, 30 이하이다.


출력

첫째 줄에 그 괄호열의 값을 나타내는 정수를 출력한다. 만일 입력이 올바르지 못한 괄호열이면 반드시 0을 출력해야 한다.


예제 입력 1

1
(()[[]])([])

예제 출력 1

1
28

출처


알고리즘 분류


소스코드

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

input = sys.stdin.readline

input_string = list(input().rstrip())

stack = []


def solution(string):
for bracket in string:

if bracket == ')':
tmp = 0
while stack:
top = stack.pop()
if top == '(':
if tmp == 0:
stack.append(2)
else:
stack.append(tmp * 2)
break
elif top == '[':
return 0
else:
tmp += int(top)

elif bracket == ']':
tmp = 0
while stack:
top = stack.pop()
if top == '[':
if tmp == 0:
stack.append(3)
else:
stack.append(tmp * 3)
break
elif top == '(':
return 0
else:
tmp += int(top)
else:
stack.append(bracket)
return stack


if solution(input_string):
print(0 if '(' in stack or '[' in stack else sum(stack))
else:
print(0)

[백준] 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