분류 전체보기
[C언어] 정수 자료형 정리 (64bit Windows 기준)
일반적인 정수 자료형 C언어에서 사용하는 정수 자료형 중 자주 쓰이면서 핵심적인 자료형은 정해져있다. 아래 표에 정리되지 않은 것들은 본 글 최하단에 기재되어 있는 링크를 통해 확인하자. 자료형 크기 범위 최솟값 최댓값 형식 지정자 (signed) char 1byte (8bit) -128 ~ 127 CHAR_MIN CHAR_MAX %d unsigned char 1byte (8bit) 0 ~ 255 0 UCHAR_MAX %u (signed) int 4byte (32bit) -2,147,483,648 ~ 2,147,483,647 INT_MIN INT_MAX %d unsigned int 4byte (32bit) 0 ~ 4,294,967,295 0 UINT_MAX %u (signed) long long 8byt..
대학생 노트북 추천 - HP 파빌리온 x360 14 2주 사용 후 리뷰
지난주 월요일에 노트북을 수령하여 HP 파빌리온 x360 14를 사용한지도 어느덧 2주가량이 지났네요. HP 파빌리온 x360 14를 사용하며 느낀 점들을 정리해보려고 합니다. 그리고 이전에 썼던 노트북과도 비교해보고 삶의 질이 어떻게 개선되었는지도 녹여내 볼 텐데요. 거두절미하고 시작해보겠습니다! 1. 기본 사양 및 타제품과의 비교 기본 스펙은 사실 HP 공식 홈페이지나 전자기기 전문 온라인 쇼핑 서비스인 다나와에서 참고하는 것이 더욱 전문적이고 효율적일 것입니다. 하지만 링크를 눌러서 확인하는 시간조차 아까울 수 있으니 필수적인 정보를 정리해보겠습니다. 보다 자세한 사양을 확인하고 싶으신 분들은 위 두 링크를 확인하시면 될 것 같습니다. 외관과 관련된 핵심 스펙 컴퓨터를 구성하는 내부 핵심 장치들의 ..
[파이썬/Python] 리스트(list)의 메소드 시간 복잡도(Big-O) 정리
파이썬으로 코딩테스트를 진행하며 가장 많이 쓰는 기본 자료형은 리스트(list)와 문자열(string), 딕셔너리(dictionary), 집합(set) 정도이다. 기본 자료형을 벗어난 것 중 많이 쓰는 것은 collections 모듈의 Counter와 deque 정도가 있겠고, 아주 가끔 itertools 모듈의 permutations 혹은 combinations 정도를 쓰는 것 같다(사실 이 둘은 시간복잡도가 터져버리기 때문에 거의 안 쓴다). 약간 난이도가 있는 코딩테스트 문제들은 항상 시간복잡도와 공간복잡도에 대한 제약이 주어진다. 특히 시간복잡도에 대한 제약은 아주 중요하며, 이를 고려하기 위해서는 이용하는 자료형의 메소드 별 시간 복잡도를 알고 있어야 한다. 그래서 이번 기회에 정리를 해볼까 한..
[백준 알고리즘][파이썬/Python] 1748번: 수 이어 쓰기 1
문제 시간 제한 : 1초, 메모리 제한 : 128 MB 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1≤N≤100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 입출력 예 제출 코드 n = int(input()) lst = [9, 99, 999, 9999, 99999, 999999, 9999999, 99999999, 999999999] max = 0 len = 0 for idx, val in enumerate(lst): if n < val: max +=..
[백준 알고리즘][파이썬/Python] 1764번: 듣보잡
문제 시간 제한 : 2초, 메모리 제한 : 256 MB 김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 영어 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다. 출력 듣보잡의 수와 그 명단을 사전순으로 출력한다. 입출력 예 제출 코드 import sys n, m = map(int, input().split()) n_lst = set([sys.stdin.r..
[백준 알고리즘][파이썬/Python] 1057번: 토너먼트
문제 시간 제한 : 1초, 메모리 제한 : 128 MB 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 번호의 순서를 유지하면서 1번부터 매긴다. 이 말은 1번과 2번이 스타를 해서 1번이 진출하고, 3번과 4번이 스타를 해서 4번이 진출했다면, 4번은 다음 라운드에서 번호 2번을 배정받는다. 번호를..
[백준 알고리즘][파이썬/Python] 1500번: 최대 곱
문제 시간 제한 : 2초, 메모리 제한 : 128 MB 세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러 개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는 곱이 36으로 최대이다. 입력 첫째 줄에 두 수 S와 K가 주어진다. K는 20보다 작거나 같고, S는 100보다 작거나 같으며 K보다 크거나 같다. 출력 첫째 줄에 정답을 출력한다. 답은 9223372036854775807보다 작다. 입출력 예 제출 코드 s, k = map(int, input().split()) key = s // k if s % k == 0: print(pow(key, k)) else: result = 1 while..
[백준 알고리즘][파이썬/Python] 1812번: 사탕
문제 시간 제한 : 2초, 메모리 제한 : 128 MB N(3≤N≤999, N은 홀수)명의 학생들이 원 모양으로 둘러앉아 있다. 각 학생들은 모두 몇 개의 사탕(≤100,000)을 가지고 있는데 그 개수는 사람마다 다를 수 있고, 사탕을 아예 가지고 있지 않을 수도 있다. 물론 사탕의 개수는 음이 아닌 정수이다. 편의상 학생들에게 번호를 매기는데, 반시계 방향으로 1번 학생, 2번 학생, …, N번 학생으로 번호를 매겼다. 1번 학생 오른쪽엔 2번 학생, 2번 학생 오른쪽엔 3번 학생이 앉아 있는 것이고, 마지막 N번 학생 오른쪽엔 1번 학생이 앉아 있게 된다. 우리는 인접한 두 학생이 가지고 있는 사탕의 수의 합을 안다. 즉 1번 학생과 2번 학생이 가지고 있는 사탕의 수의 합, 2번 학생과 3번 학생..