목록전체 글 (145)
Partially Committed
https://school.programmers.co.kr/learn/courses/30/lessons/42883?language=cpp# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 순열을 이용해서 모든 경우의 수를 다 탐색해가며 최대 숫자를 찾으려고 했다. 근데 입력으로 주어지는 number 길이가 최대 백만이라 아마 시간초과가 날 것같아서 다른 풀이를 탐색했고, 약간의 구글링을 통해 얻은 아이디어로 아래와 같이 구현하였다. 먼저 number 가 주어지면 stack 에 차곡차곡 넣는다. 예를 들어 number = 1924, k = 2 라고 ..
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr BFS 를 이용하여 경로를 탐색하면 되는데, dist 배열을 활용하여 갈 수 있는 경로까지 소요되는 시간(?)을 기록한다. 이때 dist 배열을 초기에 -1 로 설정하면 visit 배열을 따로 두지 않고도 방문 여부 체크가 가능하다. [C++] #include #include #include using namespace std; int dist[101][101]; int dx[4] = {-1,1,0..
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 옷의 종류와 이름이 pair 로 담긴 clothes 배열이 인풋으로 들어오면, 얼마나 많은 수의 옷을 입을 수 있는 지 경우의 수를 리턴해야 한다. 당연하지만 동일 종류의 옷은 하나만 선택이 가능하다. 예를 들어, [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] 와 같이 입력이 들어왔..
https://school.programmers.co.kr/learn/courses/30/lessons/42839# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자로 이루어진 문자열 numbers 가 주어졌을 때, 각각의 숫자로 만들 수 있는 수 중에서 소수의 개수를 찾아서 반환하면 된다. 문자열 numbers 에 등장하는 숫자들로 만들 수 있는 모든 숫자를 만들어서 소수의 개수를 판단하면 된다. 이를 위해서 next_permuation 을 이용하여, 각각의 문자열의 숫자들로 만들 수 있는 모든 순열을 만든 다음 각 자릿수를 substr 을 이용해서 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자를 담은 배열 numbers 가 주어졌을 때, 해당 숫자들을 이용해서 가장 큰 수를 만들어서 문자열 answer 로 반환해야 한다. numbers 의 원소 a, b 가 있다고 했을 때 각각을 string 으로 바라봐서 a+b > b+a 이도록 정렬한 뒤 문자열 answer 로 이어붙여주면 된다. 즉, string 을 원소로 가지는 string_nums 배열을 선언하여 numbers 의 원소를 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42586# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작업 progresses[i] 이 작업 완료되려면 100 - progresses[i] / speeds[i] 일이 걸린다. 이때, 해당 수식의 계산이 2.xxx 와 같은 경우 3 과 같이 올림 계산해야하는데, ceil((100 - progresses[i])/speeds[i]) 라고 하면 2.xxx 가 자동으로 int 로 형변환되어서 사실 의미없게 된다. 그러므로, ceil((100 - progre..
https://school.programmers.co.kr/learn/courses/30/lessons/12973# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력 문자열이 들어오면 "짝지어 제거하기" 가 가능한 지 확인하면 된다. 짝지어 제거하기란, 문자열 중 같은 알파벳이 2개 붙어있으면 그 pair 를 제거하는 것이며 이를 반복하여 문자열을 날려버릴 수 있다면 짝지어 제거할 수 있는 문자열인 것이다. 가장 처음에 떠오른 풀이는, 문자열을 순회하면서 짝지어 제거할 수 있는 pair 가 발견되면 substr 을 이용해서 문자열을 줄여나가다가 문자열이..
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 입력문자열이 "{{1,2},{1,2,3}}" 과 같은 형태로 주어지는데, 다루기 쉽게 하기 위해서 '{' , ',' , '}' 과 같은 문자들을 모두 ' ' 공백으로 바꾸어주었다. 2. 그리고 stringstream 을 이용하여 공백 단위로 문자를 파싱한다. 각각의 숫자가 나온 횟수를 기록하기 위해 count 배열에 저장한다. 3. 나온 횟수를 기록하는 이유는, 만약에 입력 문자열이 {{2}..