전체 글

흔한 컴공 출신 개발자입니다. 제가 경험하고 공부하고 아는 것을 적어둡니다.
programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이�� programmers.co.kr 위 문제는 파이썬으로 풀면 상당히 편한 문제이다(다른 문제들도 파이썬으로 푸는게 편하다..) 정말 말 그대로 실행을 해주면 되는데 1. int형으로 들어온 매개변수를 문자열로 변환해준다. 2. 변환된 문자열을 내림차순으로 정렬해준다. 3. 각 문자열을 붙여 출력해준다. def solution(n): n_list = list(..
프로그래머스 문제 중 가운데 글자 가져오기 문제를 풀어보았습니다. programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 비교적 쉬운 문제라 제가 생각한 풀이 방법은 문장의 길이가 2로 나누어 떨어지는 경우와 나누어 떨어지지 않는 경우로 나누어 가운데 글자만 가져오는 방식으로 풀었습니다. def solution(s): answer = '' word_len = len(s) if word_len..
· JAVA
동일한 데이터 타입을 가진 것들은 모은 집합을 컬렉션이라 부른다. 컬렉션은 알아두면 정말 잘 쓰는 것들이고 그러기 때문에 기본적인 것들이다. 자료구조를 어느 정도 공부한 후 보면 이해가 빨리 된다. 자료구조를 쉽게 쓰라고 만들어 놓은 것들이기 때문에... 아래 표를 살펴보자. 출처 : https://www.javatpoint.com/collections-in-java이고 상당히 정리가 잘 되어있는 사이트이다. 자바에서 제공하는 컬렉션 프레임워크는 아래와 같은 구조를 가진다. 위 표를 말로 풀어 쓰면 아래와 같이 정리가 된다. Collection인터페이스는 Collection을 순회(탐색)하기 위한 Iterable 인터페이스를 상속받고 있다.(인터페이스가 인터페이스를 상속받는 경우는 구현이 아닌 상속으로 ..
· JAVA
SWT를 사용하여 GUI를 만들다 보면 마우스 스크롤 이벤트를 막아야할 때가 있습니다. 막기 위한 코드는 아래와 같습니다. swtObject.addListener(SWT.MouseVerticalWheel, new Listener() { @Override public void handleEvent(Event event) { // TODO Auto-generated method stub event.doit = false; } }); 막아야 하는 객체(swtObject)에 대해 리스너를 등록하고 막아야 하는 이벤트인 SWT.MouseVerticalWheel에 대해 설정해줍니다.
알고리즘을 조금씩 공부하며 제가 공부하거나 작성한 풀이에 대해 공유하고자 합니다. 물론 더 효율적인 방법이 많겠지만 이렇게 코드를 작성하는 사람도 있구나 하고 봐주시면 될 것 같습니다. 코드에 대해 최적화나 컨벤션은 맞지 않습니다. 아래 링크는 프로그래머스에서 풀 수 있는 모의고사 라는 이름의 문제입니다. https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 문제를 풀기 위해서는 리스트를 순회하며 각 패턴을 ..
· JAVA
SWT를 이용하여 개발을 하면 종종 막히는 부분들이 있다. 그 중 하나는 방향키의 입력을 사용자로부터 막아야하는데 그 코드는 아래와 같다. swtObject.addListener(SWT.KeyDown, new Listener() { @Override public void handleEvent(Event event) { event.doit = false; } }); 막아야 하는 객체에 대해 listener를 붙여주고 SWT.KeyDown에 대해 설정해주면 된다.
· JAVA
ctrl + shift + t : class 검색 ctrl + h : 전체 검색 (hint 라고 생각하면 금방 외움) ctrl + l : 해당 라인으로 이동(line의 약자인듯) 함수나 변수를 클릭하고 ctrl + shift + h : call hiererchy (해당 변수, 함수가 어디서 호출되고 있는지 확인) ctrl + shift + r : open resource (리소스 검색) (resource의 약자?) ctrl + shift + f : 자동정렬 ctrl + shift + o : import 정리(아직 import안된 것들은 import해주고 미사용 import는 제거)
· JAVA
StringBuffer를 사용하는 이유 Q. StringBuffer가 뭐고 String 과 무슨 차이가 있어요? A. 둘다 문자열 만들어줍니다. 차이점은 String은 immutable 객체입니다. StringBuffer는 아닙니다. Q. 그게 뭔데요 A. String은 immutable(불변적인) 객체입니다. 즉 공간에 한번 잡히면 더이상 그 값이 변하지 않아요. Q. 이렇게 하면 잘 변하는데요? Stringtmp = "abcd"; tmp += "efg"; System.out.println(tmp); A. 그거 내부적으로는 이렇게 진행됩니다. Stringtmp = "abcd"; tmp = newStringBuffer(tmp).append("efg").toString(); System.out.printl..
· Python
이전에 작성한 다른 블로그에서 가져왔습니다. 실은 이게 불법인것 같긴 한데 너무 인터넷에 프로그램도 많고 심지어 pypi에 라이브러리도 있어서 그냥 장난삼아 만들고 간단한 제작 방법 및 후기 남기고자 글을 작성합니다. ​ 코드를 매우 못생기게 작성했고 이런 라이브러리가 있다는 정도로만 이해해주시면 될 것 같습니다. 1. 우선 가장 중요한 pytube 라이브러리를 먼저 설치합니다. pip install pytube 2. 파일 필터링 pytube.YouTube(url).streams.filter(subtype='mp4').all() url에는 원하는 링크를 넣어주시고 저 코드를 실행하여 출력하게 되면 mp4의 확장자로 된 동영상 파일에 대해 각 화질, 프레임 수 등 다운받을 수 있는 내용들을 보여줍니다. ​..
· JAVA
다음과 같은 코드가 있다고 가정해보자 . . . for(int i = 0; i < peopleList.getSize(); i++){ System.out.println(i + "번 째 사람"); } . . . (아무 의미없는 코드이다.) 언뜻보면 이게 무슨 낭비가 있나 싶을 정도로 사소하게 일어나는 실수 중 하나로 peopleList.getSize()가 실수한 부분이다. 이 반복문의 수행 구조를 살펴보면 getSize()함수가 계속 호출되고 있다. 여기서는 하나의 함수만을 호출하는 경우이지만 다음 코드에서는 더욱 심한 차이를 보이게 된다. . . . for(int i = 0; i < company.getInstance().getHRgroup().getStaffNum(); i++){ System.out.pr..
Berno
흔한 컴공 출신 개발자