오늘도 백트래킹 문제를 풀어보았다. https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 더보기 문제 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로..
스프링은 왜 존재할까? -> 좋은 객체지향 프로그래밍을 하는데 도움을 주기 위해서. OOP란? 컴퓨터 프로그램을 명령어 목록으로 보는 것 이 아닌 객체들의 모임으로 파악하는 것 OOP의 장점은 프로그램을 유연하고 변경에 용이하게 해 준다. 다양한 OOP개념 중에서도 가장 중요한 건 다형성이다. 다형성은 역할과 구현을 분리. 클라이언트를 변경하지 않고 서버의 구현기능을 유연하게 변경할 수 있다. API 설계 시 확장성이 중요하다! -> Implement를 잘 사용하자 Solid 원칙 -> 다형성 + solid원칙이 Spring의 핵심 원리이다. 1. SRP 단일책임원칙 - 한 클래스는 하나의 책임만 가질 수 있다. - 변경 시 파급력이 적어야 한다. 2. OCP 개방 폐쇄의 원칙 - 확장에는 열려있고 변경..
오늘은 다시한번 자바의정석을 정독하였다. 정독하면서 필요한 단어를 글로 정리하였다. 1장. 자바(Java)란? 자바의 특징 운영체제에 독립적 -> 운영체제에 상관없이 JVM으로 실행 객체지향언어 -> 캡슐화,다형성,상속,추상화 라는 특징이 있고 코드재활용성, 유지보수의 용이성이 장점이다. Garbage Collection -> JVM의 Garbage Collection이 자동으로 메모리를 관리해준다. 멀티쓰레드를 지원 -> 스레드 관련 라이브러리를 제공해준다. JDK 자바를 하기 위해선 JDK(Java Development Kit) 설치가 필요 -> JVM과 API가 들어있는 KIT 컴파일이란? 프로그래밍 언어로 작성된 코드를 컴퓨터가 해석할 수 있는 기계여로 변환하는 과정 주석 파이썬은 # 자바는 //..