목록Programmers (190)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 옷의 조합의 개수를 return 하는 문제이다. 옷은 하나만 입을 수도 있고, 여러 종류를 조합하여 입을 수 있지만 같은 종류의 옷은 하나밖에 입지 못한다. 따라서 옷을 종류별로 저장하고, 개수에 1을 더한 값들을 곱하면 된다. (안 입을 경우 포함) 얼굴이 1개, 상의가 2개, 하의가 3개, 겉옷이 0개 있다면 얼굴은 안 입을 경우, 1번을 입을 경우 해서 2가지의 경우 (2C1)..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 문제에서 캐시 교체 알고리즘은 LRU (Least Recently Used)를 사용한다고 한다. 용량이 부족한 경우 가장 오랫동안 사용되지 않은 캐시를 교체한다. map 두 개를 이용한다. 하나는 key는 인덱스, value는 도시이름이고 오름차순으로 정렬한다. 다른 하나는 key는 도시이름, value는 인덱스로 구성된 map이다. 도시를 입력받으면 {도시, 인덱스}, {인덱스, ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 곱셈 방법은 알지만 식으로 어떻게 나타낼지 몰라서 고민을 좀 했다. 먼저 x*y과 n*m 벡터가 있으면 y와 n은 같아야 하고 최종적인 크기는 x*m 크기의 행렬이 된다. 새로 만들 벡터는 y크기는 arr1의 크기, x크기는 arr2의 가로 크기인 arr2[숫자]의 크기로 두면 된다. 크기가 넉넉한 행렬 1과 행렬 2가 있으면 행렬 1에서는 가로방향으로, 행렬 2에서는 세로방향 순서..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 1 2 3 2 2 3 3 3 3 숫자는 항상 테두리에만 추가가 된다. 이들의 좌표를 잘 보면 큰 수는 항상 같은 걸 알 수 있다. 3x3 배열에서 x는 0, 1, 2, 0, 1, 2.. => num % 3, y는 3칸을 지나면 +1이므로 num / n이다. 숫자는 0이 아닌 1부터 시작하므로 1을 더해야 한다. left부터 right까지 y와 x 중 더 큰 수에 1을 더한 값을 an..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 elements크기만큼 벡터를 선언하고, 변수 두 개를 선언하여 하나는 벡터 인덱스 변수, 다른 하나는 1씩 증가시켜 숫자를 고르는 인덱스로 선언했다. 첫 줄은 idx2 = 0 이므로 바로 숫자를 저장한다. 그다음은 idx2 = 1이므로 한 칸 오른쪽의 숫자를 저장한다. 그다음은 idx2 = 2이므로 두 칸 오른쪽의 숫자를 저장한다. 벡터의 크기-1만큼 반복한다. 7+9+1+1+4..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 처음에 2차원, DFS를 이용해 문제를 풀었는데 테스트 케이스 하나가 계속 통과가 안 됐다. 질문글을 보니 방향 순서를 바꾸면 된다 해서 바꾸고 돌렸더니 이번엔 다른 테스트 케이스가 통과가 안 됐다. 그래서 다른 질문글을 보고 다른 풀이를 참고하여 3차원, DFS를 이용해 문제를 풀었다. 3차원이 되면서 추가되는 점은 다음으로 넘어갈 때 방향을 추가로 고려한다는 점이다. 알고리즘은 ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 DFS로 풀었다. DFS는 시작 나라, 여행 횟수, 여행경로를 인자로 받았다. visited 벡터를 이용해 재방문을 못하게 했다. 반복문을 탐색하면서 출발지점이 "ICN"이라면 방문 표시를 하고, 여행경로에 string형으로 입력한다. DFS함수에서는 티켓 크기만큼 반복하면서 티켓을 탐색한다. 방문을 안 했고, 현재 나라가 출발 지점이 아닌 티켓들은 continue를 통해 넘긴다. ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 문제를 보자마자 두 가지 방법이 생각났다. 하나는 BFS를 이용한 풀이고, 다른 하나는 다익스트라 알고리즘을 이용한 풀이이다. 이번 풀이에서는 다익스트라 알고리즘을 사용했다. 문제를 보면 1번 노드에서 가장 먼 노드를 구해야 한다. 간선은 양방향 간선이므로 주어진 배열을 가지고 따로 (n+1) * (n+1)크기의 벡터를 만들어 연결이 되면 1을 저장한다. (1번 노드부터 시작하므로 ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 돌이 연속으로 k개가 무너지는 때를 구하는 문제이다. 다른 곳에서 돌이 몇 개가 무너지든 상관이 없다, 오직 k개가 연속으로 무너지는 돌을 구하면 된다. 따라서 구간을 구해서 탐색을 하면 된다. k개가 무너져야 하므로 시작과 끝 안에 있는 돌들은 k개가 된다. 원하는 돌을 없앨 수 있고, 순서대로 정렬을 할 수 있는 multiset을 이용한다. multiset에 k개의 돌을 집어넣고..