일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- springsecurity
- yaml-resource-bundle
- 백준
- 리프레시토큰
- 티스토리챌린지
- 액세스토큰
- springdataredis
- githubactions
- 소셜로그인
- 재갱신
- 토이프로젝트
- java
- 메시지
- 파이썬
- 스프링시큐리티
- 트랜잭션
- Spring
- 데이터베이스
- JIRA
- oauth2
- springsecurityoauth2client
- 스프링부트
- docker
- 프로그래머스
- 국제화
- AWS
- 오블완
- 스프링
- CI/CD
- 도커
- Today
- Total
목록분류 전체보기 (102)
땃쥐네

문제 플랫폼 : 백준 번호 : 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..

문제 번호 : 120866 제목 : 안전지대 난이도 : Level 0 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return 문제 : 링크 필요 알고리즘 인접 방향 배열 private static final int[] DIRECTION_ROW = {0, 1, 1, 1, 0, -1, -1, -1}; // 동 동남 남 남서 서 북서 북 북동 private static final int[] DIRECTION_COLUMN = {1, 1, 0, -1, -1, -1, 0, 1}; // 동 동남 남 남서 서 북서 북 북동 어떤 한 좌표를 기준으로 인접한 방향의 인덱스와의 좌표차(행, 열) 배열로 선언하면 편리한 경우가 많다. 배열 문제의 경우 row, column을 사용하는 것이 편리하고, 수학적인 ..

이 글은 - '강민철'님의 책 '혼자 공부하는 컴퓨터구조 + 운영체제' 책을 읽으며 학습한 내용을 정리합니다. 명령어 - 명령어는 연산 코드와, 0개 또는 1개 이상의 오퍼랜드(피연산자)들로 이루어져 있다. - 명령어 역시 실제로는 0과 1의 비트로 구성되어 있다. 1. 연산 코드 1.1 연산 코드(operation-code) 연산코드 : 명령어가 수행할 연산 연산코드 필드 : 연산코드가 담기는 영역을 연산 코드 필드라고 한다. 1.2 연산 코드의 종류 데이터 전송 산술/논리 연산 제어 흐름 변경 입출력 제어 명령어의 종류와 생김새는 CPU마다 다르기 때문에, 연산코드 종류마다 다르다. 아래에서 서술할 연산코드는 대충 각 CPU마다 공통으로 이해하는 대표적인 연산코드 종류 정도로만 이해하면 된다. 1.3..

이 글은 - '강민철'님의 책 '혼자 공부하는 컴퓨터구조 + 운영체제' 책을 읽으며 학습한 내용을 정리합니다. 1. 고급 언어, 저급 언어 1.1 고급 언어(high-level programming language) 사람을 위한 언어 사람이 이해하고 작성하기 쉽게 만들어진 언어 예) C, C++, Java, Python, ... 1.2 저급 언어(low-level programming language) 컴퓨터가 직접 이해하고 실행할 수 있는 언어 '명령어'로 이루어져 있다. 고급 언어로 작성된 코드가 실행되려면 반드시 저급 언어로 변환되어야 한다. 2. 저급 언어의 종류 : 기계어와 어셈블리어 2.1 기계어 0과 1의 명령어 비트로 이루어진 언어 다만, 이진수로 나열하면 너무 길어지기 때문에 가독성을 위..

문제 번호 : 120846 제목 : 합성수 찾기 난이도 : Level 0 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return 문제 : 링크 필요 알고리즘 소수 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 합성수 1보다 큰 자연수 중에서 소수가 아닌 수 약수의 개수가 3개 이상인 수 둘 이상의 소수를 곱한 자연수 에라토스테네스의 체 특정 범위의 자연수들의 소수, 합성수 여부를 판단하는 가장 기본적인 알고리즘 1은 소수도 합성수도 아니다. (알고리즘 풀 때 이 부분을 놓치는 경우가 있어서 문제를 잘 읽고 이 부분을 문제에 맞게 잘 체크해야한다.) 2부터 시작한다. 2는 합성수로 체크되어 있지 않으므로 소수이다. 2보다 큰 2의 배수는 모두 합성수이므로 이들을 모두 합성수로 ..