본문 바로가기

분류 전체보기

(27)
[Algorithm] 구현 - 왕실의 나이트 이것이 코딩 테스트다 - 구현 - 실전문제: 왕실의 나이트 🔍 답안 input_data = input() # column = ord(input_data[0]) - 96 #내 답 column = int(ord(input_data[0]) - int(ord('a'))) + 1 #책 답안 예시 row = int(input_data[1]) #가능한 이동경로 steps = [(-2,-1), (-2,1), (2,-1), (2,1), (-1,-2), (-1,2), (1,-2), (1,2)] result = 0 for step in steps: next_column = column + step[0] next_row = row + step[1] if next_column>=1 and next_row=1 an..
[Spring] 의존관계 자동 주입 의존관계 주입 방법 생성자 주입 수정자 주입 (setter주입) 필드 주입 일반 메서드 주입 생성자 주입 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPol..
[Spring] @Configuration과 싱글톤 웹 애플리케이션과 싱글톤 웹 애플리케이션은 보통 여러 고객이 동시에 요청한다. 이럴때마다 요청한 고객에게 모두 서로 다른 새로운 객체를 반환하면 메모리 낭비도 심하고 효율성이 떨어짐. 따라서 딱 1개의 객체만 생성하고 이걸 공유하도록 하면 됨. ->이게 바로 싱글톤! 하지만, [스프링없이 순수한 자바로만 싱글톤을 구현했을 때의 단점] : 코드자체가 많이 들어감, DIP위반, OCP위반할 가능성 높아짐(구체클래스.getInstance()해야하므로), 유연성이 떨어짐, private생성자 때문에 자식클래스 만들기 어려움. …등등 싱글톤 컨테이너 스프링컨테이너는 객체 인스턴스를 싱글톤으로 관리. (객체 1개만 생성) 싱글톤패턴을 적용하지 않아도 자동으로 싱글톤으로 관리. 싱글톤 방식의 주의점 싱글톤 방식은 여..
[Python] 리스트 뒤집기 1. 슬라이싱 사용하기 reversed_list = list[::-1] 하지만 원본이 바뀌지는 않음! (비파괴적) 2. reverse(), reversed() reverse() : 원본 리스트가 바뀜. (파괴적) list = [1,2,3,4,5] list.reverse() print(list) #[5, 4, 3, 2, 1] print(type(list)) #reversed() 원본이 바뀌지 않음 reversed()하면 list_reverseiterator타입으로 반환하므로 list()리스트로 바꿔줘야 함. origin_list = [1,2,3,4,5] reversed_list = reversed(origin_list) print(reversed_list) # print(type(reversed_list)..
회피의 과학 [회피의 과학] https://youtu.be/Bcs33wFg-KA?si=SF43CtXdZPRCkfam 전형적인 회피 유형 5가지 잘못된 선택 피하기. 안좋은 일이 있을것 같으면 피함. 후회할수있는선택은 안함. ==JLPT N2 이번에 시험 떨어질것 같으니까 지원안함== 지나친 분석 / 지원하기 전에 잠깐! 더 분석해보고!! 지나친 분석으로 어떠한 행동도 못하게되는 유형 ==운동 - 지금 출발or지금일어나면 늦을것같으니까 안가야지== 완벽한 순간 기다리기 완벽한 순간은 없다! 일단 시작해야한다! 완벽한 순간만 기다리며 아무것도 안하는 유형 ==발레 오랜만에 가는거라 따라가기힘들것같으니까 L4수업안들을래. 내일있는 L3수업들어야지. / 일본어 회화 하나도 못하니까 헬로톡 일단 눈팅만해야지.== 기획 과다 ..
[Python] split()과 split(' ')의 차이 split() split(' ') *split('') -> 띄어쓰기가 있어야 함! 이렇게 하면 에러뜸! (ValueError: empty separator) 1. split() 모든 공백을 지운다. 개수상관없이. 공백을 한번에 처리. 예시 strings = input() words_list = strings.split() print(words_list) 입력 : ..two.one...threetwo.. (.은 스페이스로 간주) 출력 : ['two', 'one', 'threetwo'] 2. split(' ') 공백을 따로따로 처리. 문자열 사이에 있는 공백 하나 : 분할점으로 이용. 그 공백은 지움. 공백이 연속으로 나오는 경우 : 일반 문자 다음에 오는 공백만 지우고 나머지 공백은 리스트의 하나의 요소가..
[Python] input()과 readline()의 차이점 1. 속도 input()보다 readline()이 더 빠르다. 2. EOF처리방식 input은 EOF를 받을 때 EOFError를 일으키지만 sys.stdin.readline은 EOF를 받을 때 빈 문자열을 리턴한다. [차이점] - read() : 파일을 통째로 읽는다 - readline() : 개행문자를 포함한 한 줄만 읽는다. 줄단위로 그대로 읽어와 붙여서 출력한다 - readlines() : 파일의 끝까지 한번에 읽어온다. 각 줄이 개행문자(\n)가 포함되어 리스트로 저장된다. readlines()로 파일을 읽으면 한 줄, 한 줄이 각각 리스트의 원소로 들어갑니다. 여러 줄을 문자열로 입력받는 경우 : read() 여러 줄을 리스트로 입력받는 경우 : readlines() https://wikido..
[Baekjoon] 15552. 빠른 A+B - 파이썬 / readline() 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다. 또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다. https://www.acmicpc.net/problem/15552 해결 주의 - 입력데이터의 개수가 많을 때 input()을 사용하면 느려서 시간초과로 인한 오답판..