분류 전체보기 211

프로그래머스 100위 달성 자축

2020년이 되자마자 취업준비와 알고리즘 역량강화의 목표로 시작한 알고리즘 공부였는데, 9월이 돼서야 프로그래머스에서 100위를 찍을 수 있었다. 처음에는 level 1문제도 못 풀어서 다른 사람 풀이를 보곤 했는데, 돌아보면 참 많이 성장했다는 생각을 한다. (아직 한참 부족하지만) 하루에 하나씩 풀자라는 생각으로 시작했는데, 시험이랑 자격증이 겹치는 바람에 조금 소홀해진 적도 있었다. 추가적으로 안드로이드 프로젝트랑 웹 프로젝트를 시작하면서 더 자주 못풀었었는데, 그 사이에 공부를 쉰 게 아니라서 크게 상관은 없는 것 같다. 처음에는 다른 목표로 시작했지만 지금은 성취감을 얻기 위해 프로그래머스를 들어간다. 물론 모르는 문제를 풀 때는 몇 시간이 걸리기도 하고 스트레스를 받긴 하지만, 그런 문제일수록..

일상 생활 2020.09.23

[프로그래머스 level_3 / 월간 코드 챌린지 시즌 1] 풍선 터트리기 for JAVA

programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr [문제 설명] 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 여기서 조건이 있습니다. 인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다. 즉, ..

[프로그래머스 level_2/월간 코드 챌린지 시즌 1] 삼각 달팽이 for JAVA

programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr [문제 설명] 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 1,000 이하입니다. 입출력 예 4 [1,2,9,3,10,8,4,5,6,7] ..

카테고리 없음 2020.09.21

[프로그래머스 level_1 /월간 코드 챌린지 시즌 1] 두 개 뽑아서 더하기 for JAVA

programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr [문제 설명] 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] [풀이] 숫자가 작기 때문에 2중 반복문을 통해 모든 더한 경우의 수를 뽑고, HashSe..

[2018 KAKAO BLIND RECRUITMENT][3차] 자동 완성 for JAVA

programmers.co.kr/learn/courses/30/lessons/17685 코딩테스트 연습 - [3차] 자동완성 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g � programmers.co.kr [2020 KAKAO BLIND RECRUITMENT][1차] for JAVA [문제 설명] 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g 만 입력해도 go를 추천해주므로 o를 입력할 필요가 없어진다! 단, ..

[2020 카카오 인턴십 / 프로그래머스] 키패드 누르기 for JAVA

programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr [문제 설명] 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손..

카테고리 없음 2020.09.11

[2020 KAKAO BLIND RECRUITMENT][1차] 문자열 압축 for JAVA

programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr [문제 설명] 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbac..

[2020 KAKAO BLIND RECRUITMENT][1차] 괄호 변환 for JAVA

programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr [문제 설명] 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하..

[2020 KAKAO BLIND RECRUITMENT][1차] 자물쇠와 열쇠 for JAVA 재업로드

programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr [문제 설명] 고고학자인 튜브는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 모양의 열쇠는 M x M 크기인 정사각..

[자바/java] 이차원 배열 90도 회전시키기, int[][] rotate

코딩테스트 문제를 풀며 기록하고 두고두고 보면 좋을 것 같아 업로드합니다. 1. 값이 들어있는 2차원 배열을 getRotate() 파라미터로 입력한다. 2. 회전될 2차원 배열을 같은 크기로 선언해준다. 3. 크기 별로 90도 회전시켜준다. 회전이므로 높이와 넓이가 같은 정사각형 모양을 전제조건으로 한다. 1 2 3 4 5 6 7 8 9 10 public int[][] getRotate(int[][] arr) { int[][] resultArr = new int[arr.length][arr.length]; for (int i = 0; i