목록전체 글 (141)
공부하는 스누피
https://nikos7am.com/posts/mutable-default-arguments/ Avoid using an empty list as a default argument to a function A very common error in Python is the use of an empty list as a default argument to a function. This is not the right way to do it and can cause unwanted behavior. See for example below: def append_to_list(element, list_to_append=[]): list_to_append.append( nikos7am.com 함수 인자로 리스트를 ..

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 생각과정 - n이 1일 경우 0, 2일 경우 1, 3일 경우 1번의 연산으로 1을 만들 수 있다. - 일차원 배열을 만들어 인덱스값에 대한 최소 연산 횟수를 저장한다. - 4부터 n까지 순회하면서 최솟값을 구한다. (Bottom-Up 방식) - 먼저 3이나 2로 나누어 떨어지는지 확인한다. 나누어 떨어진다면, n/3 또는 n/2의 값에서 1을 더한 값을 배열에 저장한다. 앞에서 n/3의 최솟값을 구해 놓았으니 1을 더하기만 하면 된다. - 1을 빼는 연산은 2나 3으로 나누어 떨어지지 않을 때 수행하거나, 앞의..
커맨드 객체 값 검증 커맨드 객체란? HTTP 통신으로 들어오는 값을 자동으로 바인딩하는 객체. 검증 처리란? 폼 값 검증과 에러 메세지 처리를 포함하는 검증 과정이다. 스프링은 커맨드 객체를 검증하는 Validator 인터페이스와 에러 메세지를 출력하는 Errors, ValidationUtils 클래스를 제공한다. 필요한 모듈 (pom.xml) javax.validation validation-api 1.1.0.Final org.hibernate hibernate-validator 5.4.2.Final javax.validation validation-api 1.1.0.Final 검증 처리 방법 1. 글로벌 범위 Validator 모든 컨트롤러에 적용할 수 있는 Validator이다. 구현 방법 MVC..
메세지 스프링의 메세지 기능은 프로퍼티 파일에 있는 특정 값을 spring:message의 커스텀 태그를 이용해 출력하는 것이다. 사용법 label.properties 파일을 UTF-8로 작성한다. MVC 설정 클래스에 messageSource 메소드를 오버라이딩해 프로퍼티 파일을 등록해준다. JSP에서 message 커스텀 태그로 메세지를 불러온다. 프로퍼티 파일 작성법 일반적인 방법 코드=문자 ex) code_name=String 메시지 인자 처리 문자 부분에 {인덱스}를 넣으면 커스텀 태그에서 argument로 넘겨준 파라미터 리스트 중 인덱스번째의 값을 넣어준다. ex) JSP // registerRequest.name 값을 인자로 넘겨준다. 메세지 프로퍼티 파일 // 인자로 받은 값 중 0번째 ..
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 생각과정 - pre-processing: 장르에 노래 배열을 담는 딕셔너리, 장르에 총 재생횟수를 담는 딕셔너리를 만든다. - 장르에 속한 노래별로 정렬한다. 재생횟수가 같으면 노래 ID로 정렬한다. - 장르끼리 정렬한다. - 정렬된 순으로 장르별 Top2를 추가한다. 구현 import operator def solution(genres, plays): ..
https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 생각과정 - 피보나치를 재귀 함수로 구현했을 때, 리턴값이 0 또는 1이 되는 횟수를 각각 출력해야 한다. - 시간 절약을 위해 Bottom-up DP를 선택. - n 값이 0일 때, 0 개수는 1, 1 개수는 0이다. - n 값이 1일 때, 0 개수는 0, 1 개수는 1로 출력된다. - 피보나치 함수는 n이 실행되면 n-1, n-2 함수를 각각 실행시키기 때문에 n 값이 2일 때 0과 1의 개수는 각각 n-1번째 값과 n-2번째 값을 더한 것과 같다. - 초기값 0, 1은 메모 배열에서 미리..
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 생각과정 - 팀원이 추가될 때마다 기존 팀원들과 추가된 팀원 상호간 더해지는 능력치를 추가 - 팀 구성이 완료되면 능력치 차이 최솟값 구하기 (dfs) 구현 package baekjoon; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class b14889 { public int minA = Integer.MAX_..
1. 운영체제 - 시스템 자원 관리 & 환경 제공 (유틸리티와 하드웨어 사이에 위치) - 목적 처리능력 Throughput : 일의 양 반환시간 Turn Around Time: 응답시간 사용가능도 Availability: 즉시 사용할 수 있게 신뢰도 Reliability: 정확성 - Window : Single User, Multi Tasking(Multi Programming) - UNIX: Multi User, Multi Tasking(Multi Programming) 2. UNIX - 시분할 시스템, Open System - 커널 Kernel: 프로그램과 하드웨어 간 인터페이스 - 쉘 Shell: 명령어 해석기, 파이프라인 가능하게 함 - Utility Program: 응용 프로그램(컴파일러,,,)..