profile
개발하는 중국학과 사람

프로그래머스 lv2 3xN 타일링

3xN 타일링2 x N 타일링에 이은 3 버전이고, 조금 더 대가리가 아프다.직접 그려보면 홀수로 들어오면 경우의 수가 0인 것을 알 수 있다.규칙성을 찾다보니...다음과 같은 점화식을 확인할 수 있다.위와 같은 규칙으로 코드를 짜면된다.규칙성 찾기 대실패

어제
·
0개의 댓글
·

프로그래머스 lv2 H-Index

H-Index문제가 뭔소린가 했는데, 오히려 링크로 준 꺼무위키를 보고 이해했다.H-Index는 h번 이상 인용된 논문이 h편 이상인 h의 최댓값이다.먼저 배열을 정렬해준다. (오름 차순)for문을 돌면서 배열 길이에서 현재 인덱스를 빼주면, 현재 인덱스보다 큰, 즉

5일 전
·
0개의 댓글
·

프로그래머스 lv2 다리를 지나는 트럭

다리를 지나는 트럭큐를 사용해야하는 문제임은 깨달았다.그런데 규칙 찾다가 머리가 깨지는 줄.내가 잘못 생각하고 있었다. 트럭을 큐에 올리고, 그걸 이용해서 시간을 재면 되었는데 그렇게 생각을 못하고 있었음.다른 분이 푼 풀이를 보고나서야 깨달았는데, 트럭을 큐에 올린

6일 전
·
0개의 댓글
·

탐색 알고리즘 - DFS, BFS

문제를 풀다보면 가장 많이 마주할 수 있는 문제가 DFS, BFS 문제라고 할 수 있을 정도다. 관련해서 한 번 정리하면서 되새겨보고자 한다. DFS DFS는 깊이 우선 탐색이며, 그래프에서 들어갈 수 있는 깊은 부분까지 우선적으로 탐색하는 알고리즘을 말한다.

7일 전
·
0개의 댓글
·

프로그래머스 lv2 올바른 괄호

올바른 괄호어제 문제가 헤비했던 탓인지 모르겠지만 나도 모르게 가벼운 문제를 골랐다.스택을 사용하면 아주 간단하게 풀 수 있는 문제였다.모든 문제가 이 정도만 되었으면 좋겠네

2022년 8월 2일
·
0개의 댓글
·

프로그래머스 lv2 순위 검색

순위 검색도저히 방법이 생각나지 않아서 무식하게 풀어보았다.정확성 테스트는 전부 통과하였으나, 효율성 테스트에서 전부 시간초과로 탈락했다.어떻게든 시간을 줄여보려고 애를 썼지만, 그래도 여전히 탈락.카카오 2021년도 블라인드 기출문제라서 카카오의 풀이를 좀 찾아봤다.

2022년 8월 1일
·
0개의 댓글
·

프로그래머스 lv2 피로도

피로도'던'이 생각나는 문제다.두 가지 풀이 방법이 생각났는데, 한 가지는 '순열'로 조합을 만들어서 모든 경우의 수를 따져보며 가장 깊게 탐색이 가능한 경우를 따져보는 것이고, 하나는 dfs를 해보는 것이다.당연하게도 둘 다 못짰다. 코테는 나한테 안 맞는다. 하하.

2022년 7월 31일
·
0개의 댓글
·

프로그래머스 lv2 거리두기 확인하기

거리두기 확인하기dfs문제 일거라곤 생각했는데, 구현을 못했고..나름 규칙성이랍시고 찾았는데, 웬걸...그게 풀렸다.문제에서는 p를 기준으로 설명했지만, 뒤집어서 생각해봤을 때 o와 x를 기준으로 해서 봐도 성립되는 것을 확인했다.그래서 그걸로 for문을 통해 완전탐색

2022년 7월 31일
·
0개의 댓글
·

자바 Character to Integer

종종 코딩테스트 문제를 풀다보면 Character 형을 쓰게 되는데, 문제는 숫자인 Character를 Integer로 바꾸려고 하면 이와 같은 아주 귀찮은 짓을 하고 있었다.뭔가 비효율적인 것 같기도하고 매번 코드를 저렇게 써야하는게 아주 귀찮기도 해서 다른 방법이

2022년 7월 30일
·
0개의 댓글
·

프로그래머스 lv2 큰 수 만들기

큰 수 만들기만들어야 하는 수의 길이는 k개를 제외한 개수이기에, number.length() - k라고 할 수 있다.그리고 만들어지는 수는 개중에 가장 큰 수여야 하기에 앞자리수가 가장 '커야만' 한다.숫자를 제거하는 방식이기에 숫자의 순서를 재조합해서 순서를 뒤바꾼

2022년 7월 30일
·
0개의 댓글
·

프로그래머스 lv2 2xN 타일링

2xN 타일링처음에는 dfs로 풀었다. 모든 경우의 수를 찾으면 되는거라고 생각했으니까. 그러나 시간 초과규칙성을 봤더니 피보나치 수열이라서, 재귀로 풀었다. 그러나 시간 초과.이 문제는 dp로 풀어야했다. 재귀로 피보나치 수열을 하면 시간복잡도가 o(n^2)로 좋지

2022년 7월 29일
·
0개의 댓글
·

프로그래머스 lv2 게임 맵 최단 거리

게임 맵 최단 거리시작위치에서 목적지까지 최단거리를 구하는 문제는 bfs로 풀어야한다.Queue를 선언하고, 해당 큐에 Pos(ition) 객체를 넣는다.한번 방문했다면, boolean 타입의 배열인 visit에 true로 표시한다. 처음엔 dfs로 풀었다가 털리고,

2022년 7월 25일
·
0개의 댓글
·

프로그래머스 lv2 카펫

카펫규칙성을 찾다보면 보이는게 하나 있다.brown + yellow는 최종 사각형의 가로 \* 세로 값과 동일yellow로만 이루어진 사각형의 가로와 세로는, 최종 사각형의 가로와 세로에서 각각 -2를 해주면 된다.yellow로만 이루어진 사각형의 넒이는 yellow의

2022년 7월 24일
·
0개의 댓글
·

프로그래머스 lv2 구명보트

구명보트제한조건 구명보트 제한인원 2명사람들의 몸무게를 담은 배열 people를 정렬한번 해준다.그 다음에는 왼쪽과 오른쪽 인덱스를 담을 변수인 right와 left를 만들어준다.그 다음엔 반복문을 도는데, 어차피 보트에 무조건 한명은 탈 수 있기에, answer+1

2022년 7월 23일
·
0개의 댓글
·

프로그래머스 lv2 조이스틱

조이스틱문제에서 알파벳을 변환하는 부분은 아주 간단하게 구할 수 있다.A에서 Z방향으로 움직이면서 바꾸느냐, 아니면 A에서 바로 Z로 건너가서 역뱡향으로 움직이느냐 두 가지를 고려하면 된다.ASCII 값으로는 대문자간에 1씩 차이가 난다. 그렇기에 이를 통해서 거리를

2022년 7월 22일
·
0개의 댓글
·

프로그래머스 lv2 가장 큰 수

문제 링크 가장 큰 수 풀이 소감 알고리즘 문제를 풀 때마다 느끼는거지만 항상 어떻게 풀어야하는지를 모른다. 문제의 방향성을 알아야하는데, 문제의 방향성을 잡지 못 한다. 이게 늘 문제다. 이번 문제도 처음에는 당연하게 순열로 풀어야하는줄 알았다. 그러나, 순열로

2022년 7월 21일
·
0개의 댓글
·
post-thumbnail

순열(Permutation) 구현

순열이란 무엇인가 순열은 조합과 다른 것이다. 조합은 n개중에서 순서가 고려되지 않는, 즉 앞뒤로 순서를 바꿔도 상관없는 그런걸 뽑는 걸 말한다. 그러나 순열은 n개중에서 순서가 고려되는, 즉 {1, 2}가 {2, 1}와는 다르다고 판단하는 경우의 수를 뽑는 것을

2022년 7월 21일
·
0개의 댓글
·

자바 소수 찾기

코테를 풀다가 소수를 찾는 코드가 필요로 한 적이 있음에도 불구하고, 나는 그 코드를 짜내지 못하였다.그에 따라 나에 대한 실망으로 여기에 남겨놓는다.해당 수가 i로 나눠지면, 그때부터는 소수가 아니게 되기에 그걸 기준으로 해서 소수임을 확인할 수 있다.이렇게 간단한건

2022년 7월 21일
·
0개의 댓글
·

프로그래머스 lv2 소수 찾기

소수 찾기순열도, 소수판단도 전부 내가 직접 코드를 짜지 못했다.아무래도 dfs에 대해서 더 공부를 해야할 것 같다.(순열도..)

2022년 7월 20일
·
0개의 댓글
·

프로그래머스 lv2 짝지어 제거하기

짝지어 제거하기생각보다 문제가 쉽게 풀려서 놀랐다.자료구조는 신이야!

2022년 7월 20일
·
0개의 댓글
·