[백준] 1789번 수들의 합

[백준] 1789번 수들의 합

출처: [백준] 1789번 수들의 합


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 16089 6719 5652 43.201%

문제

서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까?


입력

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.


출력

첫째 줄에 자연수 N의 최댓값을 출력한다.


예제 입력 1

1
200

예제 출력 1

1
19

출처


알고리즘 분류


소스코드

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

input = sys.stdin.readline

S = int(input())

N, i = 0, 1
while True:
N += i
if N > S:
print(i - 1)
break
elif N == S:
print(i)
break
i += 1

[백준] 10162번 전자레인지

[백준] 10162번 전자레인지

출처: [백준] 10162번 전자레인지


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 64 MB 13024 7454 6471 58.339%

문제

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다.

냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다. 우리는 A, B, C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소버튼 조작이라고 한다.

만일 요리시간이 100초라고 하면(T=100) B를 1번, C는 4번 누르면 된다. 이와 다르게 C를 10번 눌러도 100초가 되지만 이 경우 10번은 최소 횟수가 아니기 때문이 답이 될 수 없다. 이 경우 B 1번, C 4번, 총 5번이 최소버튼 조작이다. 그리고 T=234와 같이 3개의 버튼으로 시간을 정확히 맞출 수 없는 경우도 있다.

여러분은 주어진 요리시간 T초를 맞추기 위한 최소버튼 조작 방법을 구하는 프로그램을 작성해야 한다.


입력

첫 번째 줄에는 요리시간 T(초)가 정수로 주어져 있으며 그 범위는 1 ≤ T ≤ 10,000 이다.


출력

여러분은 T초를 위한 최소버튼 조작의 A B C 횟수를 첫 줄에 차례대로 출력해야 한다. 각각의 횟수 사이에는 빈 칸을 둔다. 해당 버튼을 누르지 않는 경우에는 숫자 0을 출력해야한다. 만일 제시된 3개의 버튼으로 T초를 맞출 수 없으면 음수 -1을 첫 줄에 출력해야 한다.


서브태스크

번호 배점 제한
1 30 T ≤ 60
2 30 T ≤ 300
3 40 T ≤ 10,000

예제 입력 1

1
100

예제 출력 1

1
0 1 4

예제 입력 2

1
189

예제 출력 2

1
-1

출처


알고리즘 분류


소스코드

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

input = sys.stdin.readline

T = int(input())

control = [300, 60, 10]
count = [0, 0, 0]
for i in range(3):
if T >= control[i]:
count[i] = T // control[i]
T %= control[i]

if not T:
print(*count)
else:
print(-1)

2021년 08월 02일 월요일 IT뉴스

1. “코로나 후 데이터 유출피해 사상 최고액”

“코로나 후 데이터 유출피해 사상 최고액”

2일 IBM이 지난해 5월부터 올해 3월까지 세계 500여개 기업·조직을 대상으로 한 조사에 따르면 데이터 유출 사고 평균 피해액은 지난 조사보다 약 10% 증가한 평균 424만달러(약 48억8000만원)였다.

이 가운데 국내 기업 28곳의 피해액은 평균 41억1000만원으로 집계됐고, 한국에서 가장 큰 피해를 본 업종은 금융업이었고, 서비스와 정보통신(IT) 분야가 뒤를 이었다. 그리고 사용자 인증 정보를 도용한 공격 방식이 가장 많았으며 클라우드 구성 오류나 피싱 등도 있었으며, 피해액이 가장 컸던 공격법은 비즈니스 이메일 유출로, 평균 피해액이 67억6000만원에 달했다.


2. 네이버, 올 1~7월 AI 논문 51개 채택…매년 기록 경신

네이버, 올 1~7월 AI 논문 51개 채택…매년 기록 경신

네이버는 세계적인 인공지능(AI) 학회에서 올 들어 7월까지 총 51건의 정규 논문이 채택됐다고 2일 밝혔으며, 이중 상반기에만 43건의 논문이 등재돼 작년 한 해 논문 발표 기록 43편을 반 년만에 따라잡았다.

네이버는 또 학회에 채택된 논문 중 40% 이상은 네이버의 실제 서비스에 다양하게 적용돼, 사용자 경험을 높이는데도 크게 기여했다고 전했고, 특히 음성 분야의 최고 학회인 ICASSP와 Interspeech에서는 각각 9개의 논문이 채택되는 성과와 가장 최근에는 최고 권위의 컴퓨터비전 학회인 ICCV에서 8개의 논문의 발표가 확정돼, 비전 분야에서 기술력을 인정받기도 했다.


3. 토스 ‘송금 수수료’, 오늘부터 완전 무료

토스 ‘송금 수수료’, 오늘부터 완전 무료

△토스의 송금 수수료 무료 선언이 동종업계에 영향을 미치게 될지 관심이다.(사진=토스)

기존에는 토스도 월 10회에 한해서만 수수료를 무료로 지원해왔으나, 오는 9월 토스뱅크 출범을 앞두고 차별화된 경쟁력을 확보하기 위해 모든 고객에게 송금 수수료 ‘평생무료’ 혜택을 부여하는 결정을 내렸다. 토스는 송금·결제·투자·보험 등 고객이 필요로 하는 모든 금융 경험을 토스 앱 하나로 제공한다는 이른바 ‘금융의 슈퍼앱(Super App)’ 비전을 제시해오고 있다.

한편 간편송금 시장 규모는 매년 급증하고 있으며 한국은행에 따르면 지난해 간편송금 서비스 이용액이 일 평균 3565억원(연 환산 약130조)으로, 이 가운데 92%가 토스와 같은 전자금융업자를 통해 이뤄지고 있다.


4. 카카오 이어 네이버쇼핑도…‘대세는 구독’

카카오 이어 네이버쇼핑도…‘대세는 구독’

지난 7월 30일 네이버는 8월부터 스마트스토어에 입점한 생필품·식품·키즈·뷰티·디지털·건강·꽃배달 상품을 대상으로 정기구독 서비스를 지원한다고 밝혔고, 스마트스토어 판매자들에게 △사전 고객 알림 △자동결제 △배송주기 설정 기능을 활용할 수 있는 시스템을 제공하는 것이 골자다.

앞서 카카오도 구독시장에 진출했다. 월 4900원에 카카오톡 이모티콘을 무제한 사용하는 ‘이모티콘 플러스’, 클라우드 서비스인 ‘톡서랍 서비스’ 등도 운영 중이며, 지난달에는 다양한 상품·서비스 등을 정기구독할 수 있는 플랫폼 ‘구독 온(ON)’을 정식으로 내놨다.

이들이 구독경제 시장을 넘보는 이유는 성장성 때문으로 정기적으로 제품·서비스를 결제하기 때문에 ‘캐시카우’으로 삼을 수 있고, 사용자를 붙잡아 두는 ‘록인(Lock-in·묶어두기)효과’도 노릴 수 있다. 시장 전망도 밝다.

[백준] 10820번 문자열 분석

[백준] 10820번 문자열 분석

출처: [백준] 10820번 문자열 분석


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 16180 6710 5581 42.714%

문제

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.

각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.


입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C의 단위는 센트이다. (1달러 = 100센트) (1<=C<=500)


출력

첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.


예제 입력 1

1
2
3
4
This is String
SPACE 1 SPACE
S a M p L e I n P u T
0L1A2S3T4L5I6N7E8

예제 출력 1

1
2
3
4
10 2 0 2
0 10 1 8
5 6 0 16
0 8 9 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
import sys

input = sys.stdin.readline

while True:
input_string = input().rstrip('\n')

if not input_string:
break

lower, upper, digit, space = 0, 0, 0, 0

for ch in input_string:
if ch.islower():
lower += 1
elif ch.isupper():
upper += 1
elif ch.isdigit():
digit += 1
elif ch.isspace():
space += 1

print(f"{lower} {upper} {digit} {space}")

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

1. 30일부터 핀테크 기업 선불충전금 정보 등 개방

30일부터 핀테크 기업 선불충전금 정보 등 개방

금융위원회, 금융결제원, 핀테크산업협회은 30일부터 주요 은행, 우체국 앱에서도 본인이 보유한 핀테크 기업의 선불충전금 목록, 거래내역 등을 확인할 수 있게 된다고 28일 밝혔다. 금융위는 23개 핀테크 기업(토스, 네이버페이, 카카오페이 등)의 선불충전금 정보가 우선 조회 가능하며 나머지 회사의 선불충전금 정보도 8월말까지 순차적으로 제공될 예정이라고 설명했다.

이에 맞추어 기존에 금융회사만 이용 가능했던 어카운트인포 서비스도 핀테크 기업이 이용할 수 있도록 개방되며,. 핀테크 기업의 고객들도 오픈뱅킹에 계좌 등록 시 일일이 계좌를 입력할 필요 없이 전 금융회사의 본인계좌를 자동 조회 및 일괄 등록이 가능해진다.


2. 핀다, 새로운 CI·UX 도입…”기존 금융권과 차별화”

핀다, 새로운 CI·UX 도입…”기존 금융권과 차별화”

핀다는 새로 바꾼 사용자경험(UX) 모습 [이미지: 핀다]

핀다의 기업 CI는 곡선, 볼드, 심플 세 가지 키워드로 정리되며 곡선 디자인은 전통 금융에 대한 허들을 낮춰 접근이 쉬운 핀테크의 부드러움을 내포하며, 볼드 디자인은 핀테크 기업으로서 믿을 수 있는 전문가의 이미지를 담았고, 심플함은 직관적이고 간편한 핀다 서비스의 본질을 반영했다.

사용자와의 지속적인 소통을 위한 UX도 새롭게 선보였으며, UX는 크게 메인 화면, 알림 탭, 더보기로 구성되고 메인 화면에는 핀다의 주요 서비스인 비교대출과 대출관리 서비스가 함께 담겨 가장 좋은 대출 한 번에 받기, 나를 위한 대출관리 등으로 리뉴얼됐다.


3. 초대규모AI가 상품평 한 줄 요약… 네이버, ‘Ai리뷰 요약’ 선봬

초대규모AI가 상품평 한 줄 요약… 네이버, ‘Ai리뷰 요약’ 선봬

네이버 스마트스토어에 AI 기반 리뷰 요약 기능이 적용됐다. /사진제공=네이버

네이버는 스마트스토어 내 상품 리뷰를 분석해 대표적인 제품 특성을 한 줄의 문장으로 추출하는 ‘Ai리뷰 요약’ 기능을 선보인다고 30일 밝혔으며, ‘Ai리뷰 요약’은 국내 최초 초대규모(Hyperscale) 인공지능(AI) ‘하이퍼클로바’ 기반으로 제공된다.

그동안 국내외 쇼핑서비스가 상품 리뷰에 필터를 적용하거나 일부를 선별해 상단에 보여주는 데 그친 것과 달리 ‘하이퍼클로바’가 방대한 리뷰를 분석해 하나의 자연스러운 문장으로 만들어 낸다. 이로써 사용자가 여러 리뷰를 읽지 않아도 실구매자들의 상품평가를 한눈에 파악할 수 있다는 설명이다.


4. 도토리 충전은 다날로… 싸이월드와 전략적 제휴·투자 계약

도토리 충전은 다날로… 싸이월드와 전략적 제휴·투자 계약

다날은 싸이월드제트에 재무적 투자자(FI))로 참여하면서 싸이월드 내 결제수단인 ‘도토리’ 결제·충전 등 전자결제 대행을 맡게 되고 이에 따라 결제 시스템 구축에 들어갔으며 앞으로 결제 관련 기술지원을 제공할 예정이다.

최근 다날이 투자한 배달대행 플랫폼 기업 만나코퍼레이션과 싸이월드제트 간 협업도 논의하며, 메타버스 싸이월드에서 주문한 상품을 실제 오프라인에서 받아볼 수 있도록 배송 서비스를 지원하는 방안 등을 검토할 계획이고 이밖에 싸이월드 BGM(배경음악)서비스에도 다날의 자회사 다날엔터테인먼트가 보유한 10만여곡의 저작권이 도움이 될 전망이다.

[RPI] 라즈베리파이에서 CRIU 작동시키기

[RPI] 라즈베리파이에서 CRIU 작동시키기

라즈베리파이, OS, Kernel, Docker, Criu… 이 다섯개의 각 버전들은 매우 다양하며 checkpoint와 restore 기능이 작동하는 적당한 버전을 찾기까지 많은 노가다 작업이 있었다.

사용 버전

기기: 라즈베리파이 3B

OS: Ubuntu Mate 16.04.2

Kernel: rpi-4.12.y

Docker version: 17.06.0~CE

Criu version: 3.11


작업

1. 기기에 OS설치

라즈베리파이 3B버전을 이용한 이유는 Ubuntu Mate 16.04버전이 4B버전을 지원하지 않아서다.

16.04버전을 사용하려는 이유를 대충 요약하자면 criu를 사용할 때, 안정적으로 동작한 Docker의 버전은 17.X이였고, 이 버전은 우분투 18.X 버전부터 정상적으로 동작하지 않았다. 그래서 16.04를 사용한다.

2. Docker 설치

wget을 이용하여 다운, dpkg를 이용하여 설치

1
2
3
# wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/armhf/docker-ce_17.06.0~ce-0~ubuntu_armhf.deb

# dpkg -i docker-ce_17.06.0~ce-0~ubuntu_armhf.deb

3. Criu 설치

1
apt install criu

위 코드로도 설치가 가능하나, 아래로 설치하겠음. (특정 버전 설치를 위함)

1
2
3
4
5
6
curl -O -sSL http://download.openvz.org/criu/criu-3.11.tar.bz2
tar xjf criu-3.11.tar.bz2
cd criu-3.11
make
cp ./criu/criu /usr/local/bin
cd

4. Kernel config 수정

커널의 설정을 criu linux kernel 이 사이트대로 수정해야하지만, 이것은 x86_64 용인 것같고, arm용으로 설정을 약간 더 손봤다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_FHANDLE=y
CONFIG_EVENTFD=y
CONFIG_EPOLL=y
CONFIG_UNIX_DIAG=y
CONFIG_INET_DIAG=y
CONFIG_INET_UDP_DIAG=m
CONFIG_PACKET_DIAG=y
CONFIG_NETLINK_DIAG=y
CONFIG_NETFILTER_XT_MARK=m
CONFIG_TUN=y

CONFIG_PROC_PAGE_MONITOR=y
CONFIG_VDSO=n
CONFIG_IDLE_PAGE_TRACKING=y

참고

라즈베리파이… ARM는 soft-dirty기능을 미지원 à “CONFIG_MEM_SOFT_DIRTY”가 없음

대신 “CONFIG_PROC_PAGE_MONITOR=y” 이는 Dumpee 메모리 레이아웃에 대한 정보를 얻기 위해 필요하다고 함.

그리고 ARM에는 VDSO라는 매개변수가 없으므로 “CONFIG_VDSO=n” 셋팅을 해야 VDSO 때문에 덤프가 실패하는 것을 피할 수 있음. à 비활성화 시, signal trampoline(?)이 ARM의 VDSO페이지가 아닌 SIG페이지에 자동으로 배치됨.

컴파일 후에 적용하고 재부팅을 하면 기본 설정은 끝이다.


테스트

docker와 busy box를 이용하여 체크포인트와 복구를 테스트

1
2
3
4
5
sudo docker run --name counter busybox /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'

sudo docker checkpoint create counter cp1

sudo docker start -a --checkpoint cp1 counter

테스트영상

2021년 07월 28일 수요일 IT뉴스

1. 2분기 스팸건수, 1분기보다 9만건 ↑…대출·보험 유형

2분기 스팸건수, 1분기보다 9만건 ↑…대출·보험 유형

스팸 차단 애플리케이션 ‘후후’를 제공하는 후후앤컴퍼니는 2021년 2분기 후후 이용자들이 신고한 스팸 통계를 28일 발표했고, 전분기 대비 9만여건 증가한 692만건의 스팸 신고가 접수됐다. 주식·투자, 불법게임·도박 관련 스팸은 줄었지만, 대출·보험 가입 권유형 스팸이 급격히 늘었다.

개별 스팸 내용을 질적으로 분석해 본 결과 금융기관을 사칭해 대출·보험 등 금융 상품 상담을 명목으로 전화를 유도하는 수법이 증가했고금융과 전혀 관계 없는 보이스피싱 집단도 금융기관의 이름을 사칭할 수 있는 만큼 고객들의 세심한 주의가 필요하다.


2. 네이버 쇼핑에 AI ‘하이퍼클로바’ 적용…“상품명 자동 교정”

네이버 쇼핑에 AI ‘하이퍼클로바’ 적용…“상품명 자동 교정”

하이퍼클로바 [사진: 네이버]

네이버에 따르면 상품 코드나 상세 스펙, 이벤트 내용 등 많은 정보가 포함돼 복잡하고 긴 상품명이 쇼핑판에 노출되는 경우 이를 직관적이고 쉬운 상품명으로 하이퍼클로바가 자동 교정한다. 예를 들면 ‘0000(브랜드명) 남성 21SS 천연소가죽 멀티라인 슬림 댄디 스니커즈 FQKD1314GRT’와 같은 긴 상품명을 ‘0000(브랜드명) 천연소가죽 스니커즈’로 자동 변환해 사용자에게 노출하는 방식이다.

이밖에도 하이퍼클로바를 활용해 수천, 수만개의 쇼핑 리뷰를 한줄로 요약해주는 쇼핑 리뷰 요약 시스템도 서비스 적용을 앞두고 있다.

  • 네이버 관계자는 “하이퍼클로바는 방대한 한국어 학습량을 기반으로 스스로 핵심 내용을 요약하고 새로운 문장을 생성하는 데 뛰어난 능력을 보이고 있다”며 “이를 바탕으로 마치 사람이 큐레이션을 위해 문구를 작성한 것처럼 상품명을 교정할 수 있다”고 말했다.

3. 야놀자, 고속버스 예매 서비스 오픈…”여행 슈퍼앱 전략 가속”

야놀자, 고속버스 예매 서비스 오픈…”여행 슈퍼앱 전략 가속”

종합 여가 플랫폼 기업 야놀자가 고속버스 예매 서비스를 오픈했다. [사진: 야놀자]

야놀자는 국내외 숙박·레저·레스토랑·교통(항공·철도·렌터카) 등 여행을 위한 모든 서비스를 통합 제공하고 있다. 특히 숙박, 레저 등 기존 사업과의 시너지를 위해 2019년 글로벌 항공권 검색 서비스를 시작으로 철도, 렌터카 등 교통 카테고리를 확대해 왔으며, 새로 선보인 고속버스 예매 서비스 역시 여행 슈퍼앱 전략의 일환으로, 보다 고도화된 모빌리티 환경을 구축하기 위해 마련했단 설명이다.

야놀자 앱 내 교통·항공 카테고리에선 전국 프리미엄·우등·일반 등 모든 등급의 고속버스를 확인할 수 있으며, 노선 검색부터 예매, 발권 등 고속버스 이용을 위한 모든 과정을 지원한다.


4. 카뱅 ‘휴면예금·보험금 찾기’ 출시 이틀만에 11억원 지급

카뱅 ‘휴면예금·보험금 찾기’ 출시 이틀만에 11억원 지급

[사진: 카카오뱅크]

카카오뱅크가 ‘휴면예금·보험금 찾기’ 서비스 출시 이틀 만에 지급액이 11억원을 돌파했다고 23일 밝혔으며, 카카오뱅크에 따르면 이틀 간 서비스를 조회한 이용자 수는 17만명이다. 약 5만8000건의 휴면예금과 휴면보험금이 원권리자에게 지급됐다.

카카오뱅크 관계자는 “고객들의 보다 편리한 금융생활을 위해 유용한 서비스를 지속 출시할 계획”이라고 말했다.