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..

동일한 데이터 타입을 가진 것들은 모은 집합을 컬렉션이라 부른다. 컬렉션은 알아두면 정말 잘 쓰는 것들이고 그러기 때문에 기본적인 것들이다. 자료구조를 어느 정도 공부한 후 보면 이해가 빨리 된다. 자료구조를 쉽게 쓰라고 만들어 놓은 것들이기 때문에... 아래 표를 살펴보자. 출처 : https://www.javatpoint.com/collections-in-java이고 상당히 정리가 잘 되어있는 사이트이다. 자바에서 제공하는 컬렉션 프레임워크는 아래와 같은 구조를 가진다. 위 표를 말로 풀어 쓰면 아래와 같이 정리가 된다. Collection인터페이스는 Collection을 순회(탐색)하기 위한 Iterable 인터페이스를 상속받고 있다.(인터페이스가 인터페이스를 상속받는 경우는 구현이 아닌 상속으로 ..
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 문제를 풀기 위해서는 리스트를 순회하며 각 패턴을 ..
SWT를 이용하여 개발을 하면 종종 막히는 부분들이 있다. 그 중 하나는 방향키의 입력을 사용자로부터 막아야하는데 그 코드는 아래와 같다. swtObject.addListener(SWT.KeyDown, new Listener() { @Override public void handleEvent(Event event) { event.doit = false; } }); 막아야 하는 객체에 대해 listener를 붙여주고 SWT.KeyDown에 대해 설정해주면 된다.
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는 제거)
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..
이전에 작성한 다른 블로그에서 가져왔습니다. 실은 이게 불법인것 같긴 한데 너무 인터넷에 프로그램도 많고 심지어 pypi에 라이브러리도 있어서 그냥 장난삼아 만들고 간단한 제작 방법 및 후기 남기고자 글을 작성합니다. 코드를 매우 못생기게 작성했고 이런 라이브러리가 있다는 정도로만 이해해주시면 될 것 같습니다. 1. 우선 가장 중요한 pytube 라이브러리를 먼저 설치합니다. pip install pytube 2. 파일 필터링 pytube.YouTube(url).streams.filter(subtype='mp4').all() url에는 원하는 링크를 넣어주시고 저 코드를 실행하여 출력하게 되면 mp4의 확장자로 된 동영상 파일에 대해 각 화질, 프레임 수 등 다운받을 수 있는 내용들을 보여줍니다. ..
다음과 같은 코드가 있다고 가정해보자 . . . 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..