코딩테스트/프로그래머스
[프로그래머스]최소직사각형 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 레벨 1 문제임 애초에 처음부터 긴쪽을 가로, 짧은쪽을 세로로 생각하고 풀면 됨 ! 코드 // 코딩테스트 연습 - 완전탐색 - 최소직사각형 // https://school.programmers.co.kr/learn/courses/30/lessons/86491 package PROGRAMMERS.level1; public class Num86491_최소직사각형 { private stati..
[프로그래머스]성격 유형 검사하기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 레벨 1이라 그런지 어렵지 않은 문제였음 문제를 오랜만에 풀어서 무슨 함수가 있고 하는걸 까먹었음.... ㅎ 그래서 Character 형 ArrayList에다가 'R', 'T', 'C' , ... 얘네들을 다 추가해서 .indexOf() 함수를 사용했는데 그럴 필요없이 그냥 "RTCFJMAN" 문자열에다가 .indexOf() 함수써도 되는거였음 암튼 그렇게 풀고 풀이를 더 찾아봤는데 ..
[프로그래머스]게임 맵 최단거리 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 흔한 BFS 문제인 듯해서 BFS로 풀었음 취향에 따라 큐에 위치를 저장한 배열을 넣느냐, 아니면 클래스를 넣느냐 정해서 풀면 될 듯 함! 시작점에서 도착점까지 여러가지 길이 있을 수 있겠지만, 가장 최단 거리를 반환해야 함! 근데 BFS로 풀었기 때문에 어차피 가장 빨리 도착하는 길이 가장 최단 거리임! 클래스 사용 풀이와 배열 사용 풀이 둘 다 있음 자세한건 주석으로 ! 코드 클래스 ..
[프로그래머스]방문 길이 - Java (3차원 배열, 방향 벡터 사용 풀이)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 앞에 올렸던 글과 같은 문제지만 다른 풀이임 이 방법이 더 빠르고 효율이 좋아서 이 풀이도 올리게 됐음 ㅎㅎㅎ visited 배열을 2차원이 아닌 2차원 + 4방향. 즉, 3차원 배열로 만들어서 방문 체크를 해주는 방법임 방향 벡터 dr[]과 dc[]의 방향을 정할 때 시계 방향이나 반시계 방향으로 정해줘야 방향을 정반대로 바꿀 때 이렇게 밑에 처럼 해줄 수 있기 때문에 편함 d = (..
[프로그래머스]방문 길이 - Java (Set 사용 풀이)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 10X10의 좌표평면 위에서 게임이 진행되므로 게임 캐릭터가 [11][11] 크기의 배열 위에서 움직인다고 생각하고 문제를 풀었음 처음에는 방문한 좌표를 Set에 넣어서 중복을 제거해준 후 마지막에 Set의 크기를 답으로 정했는데, 지나간 길과 방문한 좌표 위치는 다를 수 밖에 없어서 예제 1번이 답이 다르게 나왔음 ! 그래서 Set에 "처음 위치 + 이동한 위치"를 넣었으나 테케 8번..
[프로그래머스]소수 찾기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 완전 탐색 문제임. 나는 dfs로 풀었음 dfs 들어가기 전에 visited[] 배열 체크해주고 나오면 해제해주기 ! 문자열도 dfs 들어가기 전에 추가 해주고 나오면 빼주기 ! 나 같은 경우에는 011과 11이 같은 숫자라 중복을 없애주기 위해서 HashSet을 이용하였음 ! 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 완전탐색 - 소수 찾기 // https://school.p..
[프로그래머스]쿼드압축 후 개수 세기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 분할 정복의 아주 대표적인 문제임! 백준에도 엄청 비슷하거나 완전 똑같은 문제가 있었던 걸로 기억하는데 맞을걸??? 암튼 지금 범위의 배열을 압축할 수 있는지 없는지 판단하는 check() 함수 - x좌표, y좌표, 현재 단계의 배열 length를 이용해서 검사 check()를 통과했으면 압축할 수 있다는 뜻이므로 return, 그렇지 않으면 4분할해서 다시 재귀로 검사!(마찬가지로 x..
[프로그래머스]방금 그 곡 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 String.replace() 메서드 사용 - A#과 A, C#과 C 등을 구별하기 위해 A#을 다른 문자열로 교체해야 함! 음악 재생 시간(분) 계산 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 2018 KAKAO BLIND RECRUITMENT - 방금그곡 // https://programmers.co.kr/learn/courses/30/lessons/17683 package..