만족은 하되 안주하지는 말자

기록해야 기억한다

분류 전체보기 168

2020년 컴공 4학년 개발 프로젝트 회고

그전엔 개발에 흥미가 없었다 개발이란걸 본격적으로 시작한건 2019년 크리스마스 이후, 즉 내가 4학년이 되기 직전 겨울 방학 끝무렵부터다. 그 전까지는 프론트엔드에서 주로 쓰는 기술과 백엔드에서 주로 쓰는 기술이 뭔지, 쓰레드는 뭔지? 자바 언어의 특징이 뭔지? 스프링이 뭔지? 제대로 설명할 수 없었다. (잘 모르니까) 사실 우리 학교인 H대학교의 컴퓨터공학과는 컴퓨터공학의 지식을 배우는 데에는 훌륭한 커리큘럼이지만 개발자로서의 흥미 유발과 직무 기술을 배우게 하는 데 있어서 좋은 문화를 가지고 있다고 보긴 어렵다 느꼈다. 개발 동아리도 거의 없다. (이미 노력하고 계시는 동아리 및 학우 분들을 폄하할 생각은 없다. 그저 내가 본 타 학교 학과생들에 비하면 그렇다는 것) 그 전에 신생 개발 동아리에 들..

인생 2020.11.21

[Python] 프로그래머스 지형 이동

문제 programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr 테마 구현, 최소신장트리, BFS 아이디어 1. 사다리를 쓰지 않고 넘나들수 있는 영역들을 BFS로 각각 구한다. 2. 구분 영역 간에는 사다리를 놓아야 하는데, 사다리를 놓을 때의 비용이 최소인 Dictionary 을 만든다. 3. 사전을 비용 순으로 정렬한 뒤, 영역간의 최소신장트리를 만드는 크루..

[Java] JVM, JRE, JDK 한줄 정리

JVM,JRE,JDK 가 각각 뭔 차이인지? JVM 자바 바이트코드가 컴파일 될 수 있게 하는 자바 런타임 환경을 제공하는 추상화된 머신. (java 클래스를 동작할때 생성되는 런타임 인스턴스다) JRE 이 JVM 의 implemetation 이 JRE. Java Runtime Env. 자바 어플리케이션을 개발하기 위해 활용되는 소프트웨어 도구 집합 및 환경. 라이브러리 + JVM 이 사용하는 파일을 포함 JDK - 자바 어플리케이션 개발을 위한 소프트 웨어 개발 환경이다. JRE + 개발도구를 포함함. JVM < JRE < JDK 의 포함관계

[Java] == 와 equals() 의 차이

equals() "String 클래스 내에서" equals() 메소드는 "대상의 내용"을 비교 == 연산자 == 연산자는 "대상의 주소값"을 비교 String a = new String("abc"); 와 String b = "abc"; 의 차이는 무엇인가? String a = new String("abc"); 전자는 abc 값을 가지는 문자열 객체를 힙에 생성해 참조하는 것이기에 문자열이 같아도 다른 인스턴스를 참조하는 것 String b = "abc"; 후자는 "abc" 문자 리터럴을 이용해 객체 생성했으므로 문자열이 같으면 하나의 인스턴스를 참조한다. 따라서 전자는 == 가 False, equals 가 True

[MySQL] 명령어 암기 노트

프로그래머스 SQL 문제들을 풀며 기억해야 하는 명령어 형식에 대해 모아 놓아 보았다. 역순 정렬 SELECT NAME,DATETIME from animal_ins order by ANIMAL_ID desc; 해당 조건이 아닌 것만 고르기 SELECT NAME,DATETIME from animal_ins where Condition != "Aged"; SELECT ANIMAL_ID,NAME from animal_ins 이름 정렬, 동일한 경우엔 datetime 이 '느린순' SELECT ANIMAL_ID,NAME,DATETIME from animal_ins ORDER BY name, DATETIME desc; 상위 1개만 출력하기 SELECT NAME from animal_ins order by date..

[python] 백준 1759번: 암호 만들기 (백트래킹)

문제 www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 테마 DFS & 백트래킹 아이디어 1. 들어온 암호 문자들을 오름차순 정렬한다. 2. DFS 를 통해 l 길이만큼의 암호를 만든다. 3. 길이 l 인 경우이면서 모음이 최소 1개, 자음이 최소 2개인 경우 출력한다. 4. 그렇지 않은 경우 백트래킹을 통해 다음 번 경우의 수를 찾는다. 5. 이를 반복한다. 코드 from sys import stdin from copy import deepcopy l,c = ma..

[Java] abstract class 추상클래스란?

추상클래스에서 추상이란? 추상은 실체의 공통 특성을 추출하는 것을 의미한다. 예를 들어, 트럭과 승용차는 모두 자동차라는 공통점이 있고 '주행한다' 라는 공통된 행위도 묶을 수 잇다. 이처럼 구체적인 실체라기보다는 공통적인 특성을 추상적으로 묶은 것이라 할 수 있다. 그럼 추상 클래스는? 실체 클래스들의 공통 특성을 묶어 분리 선언한 클래스를 추상클래스라고 한다. 말하자면 추상클래스와 실체클래스는 상속의 관계를 지닌다. 추상클래스 특징은? * 추상클래스만으로 인스턴스를 생성할 수 없다. 즉 new 연산자 통해 객체 생성이 불가. * 추상 클래스는 extends 키워드 뒤에만 올 수 있다. 자식클래스로는 사용할 수 없다. 그럼 왜 쓰는 것인가? 1. 클래스들의 공통적인 필드와 메소드의 이름을 통일해 협업시..