일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- http 완벽가이드
- 트랜잭션
- java
- 파이썬
- 토이프로젝트
- 백준
- yaml-resource-bundle
- 메시지
- CI/CD
- 스프링
- 도커
- githubactions
- Spring
- 스프링부트
- 벨먼-포드
- Effective Java
- restControllerAdvice
- JIRA
- HandlerExceptionResolver
- docker
- 네트워크
- 커스텀예외
- 자바
- 데이터베이스
- 국제화
- 프로그래머스
- 이펙티브 자바
- kotlinglogging
- http
- Today
- Total
목록분류 전체보기 (90)
땃쥐네
Python Installer 다운로드 - 다운로드 : https://www.python.org/downloads/ - 각 운영체제에 맞게 설치파일을 다운로드 받아 실행한다. Python 설치 'Add python.exe to PATH' 를 체크한다. 이 옵션은 python.exe를 환경 변수에 추가시키는 것인데 이후 터미널에서 python 명령어를 통해 파이썬 인터렉티브 셸을 사용할 수 있게 해준다. 그 외에는 크게 신경쓸 부분은 없고, 웬만한 것들은 '예'를 클릭해주면 된다. 이후 윈도우 기준 시작 메뉴에서 또는 터미널에서 python --version 명령어로 파이썬이 정상 설치된 것을 확인할 수 있다. PyCharm 설치 코딩 테스트를 위해 코드를 작성할 때 메모장 등을 통해 날코딩을 하는 방법도..
이 글은 - '강민철'님의 책 '혼자 공부하는 컴퓨터구조 + 운영체제' 책을 읽으며 학습한 내용을 정리합니다. CPU는 크게 ALU, 제어장치, 레지스터로 세 개의 부품으로 구성되어 있음 이번 장에서는 ALU, 제어장치에 대해서 다룬다. 1. ALU 1.1 ALU 계산만을 위해 존재하는 부품 컴퓨터 내부에서 수행되는 대부분의 계산(산술 연산, 논리 연산 등 다양한 연산)은 ALU가 도맡아 수행한다. ALU 내부에는 가산기, 보수기, 시프터, 오버플로우 검출기 등이 있으나 이러한 내용들은 이 책의 범위를 벗어나므로 깊이 다루지 않음 1.2 ALU의 연산에 필요한 것들 피연산자 : 연산에 필요한 데이터. 레지스터로부터 받는다. 제어신호 : 수행할 연산에 대한 전기 신호. 제어장치로부터 받는다. 2. ALU ..
문제 플랫폼 : 프로그래머스 번호 : 042889 제목 : 실패율 (2019 KAKAO BLIND RECRUITMENT 출제) 난이도 : Level 1 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성 문제 : 링크 필요 지식 Counter 사용 정렬 풀이 from collections import Counter from typing import List def solution(n: int, stages: List[int]): results = [[i, 0, 0] for i in range(0, n + ..
문제 플랫폼 : 백준 번호 : 02018 제목 : 수들의 합 5 난이도 : Silver 5 자연수 N을 연속된 자연수의 합으로 나타내는 가지수를 출력 문제 : 링크 필요 알고리즘 투포인터 0부터 시작한 연속된 정수에게 남은 수를 균등하게 분할하기 풀이 풀이1 : 투포인터 사용 n = int(input()) lt, rt = 1, 2 count = 1 # 자기 자신을 센 것 sum = 3 while lt 15 15 = (0 + 1) + 14 -> 연속된 숫자 2개에 14를 둘로 나눠서 분배 가능 (o) -> 7 + 8 15 = (0 + 1 + 2) + 12 -> 연속된 숫자 3개에 12를 셋으로 나눠서 분배 가능 (o) -> 4 + 5 + 6..
문제 플랫폼 : 백준 번호 : 24389 제목 : 2의 보수 난이도 : Bronze 1 2의 보수는 해당하는 숫자의 모든 비트를 반전시킨 뒤, 1을 더해 만들 수 있다. 이때, 32비트 기준으로 처음 표현했던 수와 그 2의 보수의 서로 다른 비트 수를 출력하기 문제 : 링크 필요 알고리즘 비트의 합 연산 두 비트 a, b가 있을 때 비트의 합 연산은 다음과 같다. carry_out은 자리 올림이고, sum은 해당 자리에 남는 수이다. carry_out : a and b sum : a xor b 풀이 bits_a = [True if bit == '1' else False for bit in bin(int(input()))[2:].rjust(32, '0')] bits_b = [not bit for bit i..
문제 플랫폼 : 프로그래머스 번호 : 012926 제목 : 시저 암호 난이도 : Level 1 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성 문제 : 링크 필요 지식 파이썬의 아스키 코드 처리 ord('문자')는 해당 문자의 아스키 코드 번호를 변환한다. 예) ord('0') -> 48 chr(아스키코드)는 해당 아스키 코드를 문자로 변환한다. 예) chr(48) -> '0' 풀이 풀이1 : 아스키 코드 활용 def solution(s: str, n: int): chars = [] for ch in s: if ch.isupper(): chars.append(chr(ord('A') + (ord(ch) - ord('A')+ n) % 26)) elif ch.is..
문제 플랫폼 : 프로그래머스 번호 : 077884 제목 : 약수의 개수와 덧셈 난이도 : Level 1 left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 문제 : 링크 필요 지식 수학 풀이 파이썬으로 풀었다. 풀이1 : 순수하게 약수 전부 카운팅 def solution(left, right): counts = [0, 1, *([2]*(right-1))] for i in range(2, right + 1): for j in range(2 * i, right + 1, i): counts[j] += 1 return sum(i if counts[i] % 2 == 0 else -i for i in range(left, right +..
문제 번호 : 120890 제목 : 가까운 수 난이도 : Level 0 array에 들어있는 정수 중 n과 가장 가까운 수를 return 문제 : 링크 필요 알고리즘 최솟값 알고리즘 정렬 기준 구현 Python def solution(array, n): return min(array, key=lambda x: (abs(n-x), x-n)) min 함수를 통해 다음 기준에 따른 최솟값을 구한다. 첫번째 정렬 기준 : n과 x의 차의 최솟값 두번째 정렬 기준 : x-n (차가 같을 경우 x-n 값이 작을 수록 더 작다) 속도 : 0.00ms ~ 0.02ms 파이썬에서는 숫자도 객체이고, 편리한 기본 함수들이 많이 제공되기 때문에 이런 간결한 코드 작성이 매우 쉽다. Java 풀이1 : Stream 사용 im..