자료구조 알고리즘/코딩테스트

정말 정말 풀기 싫은 레벨3 를 풀었습니다레벨 2를 다 풀고 하면 되지 않나, 문제도 길고 조건이 많잖아ㅠ이 마인드로 하다가 고득점 kit 에 더이상 풀 레벨2 가 없어서 눈물을 머금고 도전,,,이것저것 해보다가 한시간 좀 넘게 걸렸는데 할만한데 뭔가 다른 사람 풀이 보니까 다들 잘혀~,,,,,좀 fansy 하게 풀지를 못했고,, 코드 좀 길긴해..그래도 중간중간 chatgpt 키고 싶은 마음 꾹 참으면서 일요일 아침을 잘 보냈네요..https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 배운 것그..
문제 설명초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.제한사항prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.prices의 길이는 2 이상 100,000 이하입니다.입출력 예pricesreturn[1, 2, 3, 2, 3][4, 3, 1, 1, 0]입출력 예 설명1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.5초 시점의 ₩3은 0초간 가격이 떨어지지 않..
https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 2진수 변환하는 것을 한 번 더 찾아봐야겠다고 생각이 들었다. 내코드 #include #include #include using namespace std; string convertBinary(int n) { string binary = ""; while(n/2 >= 1) { binary = to_string(n%2) + binary; n = n/2; } binary = to_strin..
https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 재귀로 하면 수가 커질 수록 시간 초과가 난다. memoization! 초기화 반복 대입 타입 확인 (수가 커지니까) 문제의 값이 커질수록 %1234567의 나머지를 넣어준 다음 더하고 또 나눠주는 방식으로 해야 통과되었다. 내코드 #include #include using namespace std; int solution(int n) { long long numbers[100001] ..
https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 for 문 두 개로 풀 수 있다. 그냥 내가 짜고 싶은 대로 짰는데 반복문 한 개만 써서 짜보게 되었다. 굿인지 아닌지 좀 이해하기 어려운 코드니까 쩝 ㅎ dp인 줄 알았는데 그건 또 아니었다. 코드를 다 짜고 조금 정리해보았다. 차이가 크진 않았지만 이런 습관은 좋은 것 같다. 내코드 #include #include using namespace std; int solution(int ..
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 ++, -- 로만(개수로만 체크) 하면 안맞는 테스트케이스가 있다. 맨 처음 ) 그리고 중간에 ) 가 먼저 나올 경우 무조건 바로 리턴해버리면 된다. 내코드 #include #include using namespace std; bool solution(string s) { int i = 0; int temp = 0; if (s[0] == ')') return false; else { w..
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 이 문제를 어떻게 풀어야 되는지. 소트한 다음 제일 작은 수와 제일 큰 수를 곱한 것을 더하는 식으로 하는 것이 최솟값을 찾는 방법이라는 것. 정렬 후 내적으로도 inner_product 로도 푼 사람이 있더라. 내코드 #include #include #include using namespace std; int solution(vector A, vector B) { int answer ..
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알게된 것 2진법 변환 내 코드 #include #include #include using namespace std; vector solution(string s) { vector answer, temp; int totalCnt = 0; int zeroCnt = 0; string str; // 넣을 때 0 제거. while(s != "1") { int i = 0; str = ""; while(i ..