코딩테스트/문제풀이 20

[220811] Level_ 1 음양 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include using namespace std; int solution(vector absolutes, vector signs) { int answer = 0; for (int i = 0; i < absolutes.size(); i++) { if (signs[i]) answer += absolutes[i]; else answer -= absolutes[i]; } return answer; }..

[220808] Level1_ 두 개 뽑아서 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이법 STL의 컨테이너인 Set이 중복을 허용하지 않으면서 자동정렬된다는 점을 이용해 문제를 쉽게 해결할 수 있었다. 이중 for문은 옛날에 많이 했던 별피라미드 알고리즘과 유사하다. #include #include #include using namespace std; vector solution(vector numbers) { vector answer; set result; int num = ..

[220807] Level_ 1 모의고사

https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; vector solution(vector answers) { vector answer; int order1[5] = { 1, 2, 3, 4, 5 }; int order2[8] = { 2, 1, 2, 3, 2, 4, 2, 5}; int order3[10] = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 }; vector..

[220806] Level_ 1 2016년

https://school.programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; string solution(int a, int b) { string answer = ""; vector week = { "THU","FRI", "SAT" ,"SUN", "MON", "TUE", "WED"}; vector month = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; ..

[220805] Level_ 1 완주하지 못한 선수 (오답노트)

https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완주하지 못한 선수가 나처럼 느껴지는 문제였다,, 효율성 검사 5개 모두 0점을 맞으며 틀려버린 문제! 이중 for문 쓸때부터 쎄하긴 했지.. 역시 아니다 싶으면 코딩에선 확실히 아니다. 구글링을 통해 찾은 방법으로 내 방법이 어디가 왜 틀린건지 정확히 분석해보겠다. 내코드 #include #include #include using namespace std; string solution(vecto..

[220803] Level1_ 로또의 최고 순위와 최저 순위

https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 이전에 풀었던 체육복문제의 쉬운버전인것같다. 로또숫자 전체 배열을 만들어서 인자로 받은 두 배열과 일치하는 숫자에 +1을 해주었고 그 결과 2가 된 배열의 인덱스 숫자는 로또번호와 일치하는 숫자이므로 당첨저장변수에 +1을 해준다. 이런식으로 순위계산을 했을 때 예외처리부분에서 오류가 발생하여 삼항연산자를 통해 두가지 예외를 처리해주었다. 1. 첫번째 예외 : 지워진 숫자가 없고, 당첨번호와 ..

[220801] Level1_ 체육복

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 이중 for문을 돌려 '체육복을 분실한 그룹'과 '여분의 체육복을 가져온 그룹'의 공집합을 찾아 없앤다. 2. 그렇게 하면 체육복을 분실한 사람중 여분의 체육복이 있는 사람은 제외할 수 있다. 3. 체육복을 분실했고 여분의 체육복도 없는 lost가 체육복을 분실하지도 않고 여분의 체육복도 가져온 그룹에게 빌린다. 4. 앞뒤번호에게만 빌릴 수 있기 때문에 자기 앞번호에게 우선적으..

[220730] Level2_ 멀쩡한 사각형

https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 직사각형의 가로, 세로를 각각 x축, y축으로 보고 가로지르는 대각선을 그래프로 생각하여 대각선의 기울기를 구한다. 2. for문을 가로or세로 길이만큼 돌려 i변과 그래프가 만나는 지점의 값을 구한다. 3. 처음 값은 내림하고 구한 값은 올림한다. 4. 제외할 값을 총 정사각형 갯수에서 빼주었다면, 처음값에 구한 값을 저장하고 2번 과정이 다시 시행된다. 5. 다 제외했다면 ..

[220728] Level1_ 숫자 문자열과 영단어

https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 10크기의 배열에 순서대로 one, two...nine의 문자열이 저장되어 있다고 가정. (string A[10]) 2. for문으로 배열0~9까지 각각 참조, if 인자로 받은 문자열에 배열요소 중 같은 부분이 있다면 해당 i를 string으로 변환. 3. find로 반환된 index는 replace에 인자로 전달, A[i].size만큼 잰 다음 변환한 i(string)으로 ..