1. 객체와 자료형 파이썬에서는 메모리에 저장된 모든 데이터를 객체(object)라는 개념으로 처리한다. 자료형(data type)은 그러한 객체가 어떤 값(value)을 가지고, 어떤 행위(operation)를 할 수 있는지 정의한다. 예컨대 파이썬 인터프리터가 1, 2와 같은 정수 리터럴(literal)을 맞닥뜨리면, 파이썬은 이들을 int 객체로 변…
1. 변수의 이름 변수의 이름을 짓는 규칙은 다음과 같다. 그 변수의 의미와 기능을 가장 짧게 표현할 수 있어야 한다. 알파벳, 숫자 및 언더스코어를 사용한다. 숫자로 시작할 수 없다. 중간에 빈칸을 넣을 수 없다. 기호를 사용할 수 없다. 대소문자를 구분한다. 파이썬에서 이미 용도가 정해진 단어들을 사용하지 않는다. 헷갈리기 쉬운 글자의 사용을 자제한다…
June 10, 2022
포매터 사용법 (formatter) 포매터 black을 사용하면 띄어쓰기와 같은 사소한 규칙들은 무시하고 코드의 내용에 집중할 수 있다. 또한, 코드 스타일을 통일시키므로 가독성과 생산성이 증진된다. 포매터 설치 방법 터미널에서 으로 간단하게 설치할 수 있다. 그 후에 VSCode의 설정 화면에서 python formatting provider를 Blac…
March 29, 2022
1. 문제 설명 2와 5로 나누어 떨어지지 않는 정수 n이 주어졌을 때, 1로만 이루어진 n의 배수(e.g., 1, 11, 111...)를 찾는 프로그램을 작성하여 그 중 가장 작은 수의 자리수를 출력하시오. 2. 제약 조건 2와 5로 나누어 떨어지지 않는 정수 은 을 만족한다. 각 테스트 케이스는 한 줄로 이루어져 있다. 3. 접근 3-1. 정답이 반드…
March 27, 2022
1. HTML이란? HTML은 Hypertext Markup Language의 약자로, 웹 페이지의 구조를 결정한다. HTML을 구성하는 기본 단위는 태그로, HTML에서 사용할 수 있는 태그들은 이미 정의되어 있다 예컨대 태그는 닫는 태그 가 나오기 전까지 텍스트를 크고 두껍게 강조한다. 이처럼 대부분의 HTML 태그는 아래와 같이 사용되고, 이 묶음…
May 01, 2021
1. 문제 설명 트리의 루트 노드가 주어지면 트리의 지름을 반환하시오. (단, 트리의 지름은 두 노드 간 가장 긴 경로를 뜻한다.) 2. 제약 조건 한 트리에 있는 노드의 개수는 0개 이상 개 이하다. 노드의 값은 이상 이하다. 3. 접근 트리의 지름은 정의상 어떤 리프 노드에서 다른 리프 노드까지의 경로일 수밖에 없다. 만약 어떤 지름이 리프 노드…
May 01, 2021
1. 문제 설명 두 이진 트리의 root1과 root2가 주어지면 이 둘을 병합하시오. (단, 겹치는 노드가 있으면 그 둘의 합을 새로운 노드로 한다.) 2. 제약 조건 병합은 트리의 루트에서부터 이루어져야 한다. 한 트리에 있는 노드의 개수는 0개 이상 2000개 이하다. 노드의 값은 이상 이하다. 3. 접근 재귀적으로 트리를 DFS 순회하되, 매…
April 30, 2021
1. 문제 설명 주어진 일방향 링크드 리스트가 팰린드롬인지 판별하시오. 2. 제약 조건 리스트 내 노드의 개수는 1개부터 개까지 존재한다. 한 노드의 값은 0부터 9까지다. (선택) 시간 복잡도 O(n), 공간 복잡도 O(1)으로 해결해야 한다. 3. 접근 9. Palindrome Number와 비슷한 문제지만, 접근 방식이 조금 달라져야 한다. 리스트…
November 29, 2020
나머지(Moular) 연산 문제에서 종종 ‘정답을 특정 수로 나눈 나머지는 무엇인가’라는 표현을 찾아볼 수 있다. 이는 자료형(e.g., int, long long etc)이 저장할 수 있는 범위가 한정되어 있기 때문이다. 즉, 너무 긴 자리의 연산을 시키지 않도록 하기 위해 나머지 값만 물어보는 것이다. 핵심은 정답을 다 구하고 나머지 연산을 수행하는 …