본문 바로가기
728x90

문제/프로그래머스19

c++ 프로그래머스_"신고 결과 받기" https://programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr map , set 을 이용하여 풀었다 사실 굳이 set을 사용 안해도 되지만 find를 쉽게 적기 위해 그냥 사용하였다. #include #include #include #include #include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer; map bad_mp; map us; for(i.. 2023. 6. 16.
c++ 프로그래머스_"길찾기 게임" https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 트리를 만들고 순회할 생각에 기분이 므root해지는구만 ​ ​ 처음으로 한 생각은 중위순회하면 오름차순이 된다는 것을 이용해 가중치를 두고 해보았다. ​ 가중치를 두고 어찌저찌 x 기준 , y 기준 정렬하고 tree에 삽입해서 순회했었다 ​ 답은 잘 나왔다 정답이었다. ​ ​ ​ 근데 코드를 더 줄일 수 없을까 하는 생각에 코드를 보니 그냥 가중치 필요없고 x , y 위치 기준으로만 정렬.. 2023. 6. 15.
c++ 프로그래머스_"경주로 건설" https://programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ​ BFS를 사용하여 해결하였다. ​ 평소랑 달랐던 점은 방문체크를 하는게 아니고 비용 배열에 바로바로 저장하면서 진행했다. ​ 적은 비용이라면 저장하였다. ​ 방향 전환은 현재 ROW , COL 방향으로 진행을 확인하고 이후 이동할 좌표를 고려해 different_dir 이라는 2차원 배열을 통해 코너인지 아닌지 판별했다. ​ ​ ​ 근데 ! 처음 BFS했을 때 25번 테스트케이스만 제외하고 다 맞았다.. .. 2023. 6. 15.
c++ 프로그래머스_"5주차_모음사전" https://school.programmers.co.kr/learn/courses/30/lessons/84512?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아에이오우 바베비보부 사세시소수 ​ ​ ​ A E I O U 를 배열로 두고 그럼 A 의 index = 0 E 의 index = 1 J = 2 O = 3 U = 4 ​ 또 이 현재상태, 알파벳의 상태(index)를 저장하는 배열을 또 만들어 제일 처음 아무것도 없는 {-1 , -1 ,-1 ,-1 ,-1 } 다섯자리로 만들어줍니다 ​ 그리고 진행될 때마다 1 증가.. 2023. 6. 15.
c++ 프로그래머스_"조이스틱" https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 알파벳 바꾸는 횟수를 다 더해 놓았다. 그러면서 'A'가 아닌, 바꿔줘야하는 알파벳 개수도 체크했다.(cnt) ​ 그리고 왼쪽, 오른쪽 이동 횟수를 비교해 더 적은 것을 더해주었다. ​ ​ 이동은 무조건 name[0] 위치에서 시작하니까 name[0]이 'A'가 아닐 경우에 cnt를 하나 감소했다. ​ ex) JAN 현재 cnt = 2 ( 'J' , 'N' ) 이동은 J (name[0])에.. 2023. 6. 15.
c++ 프로그래머스_"자물쇠와 열쇠" https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 열쇠의 돌기 부분, 자물쇠의 홈 부분을 열쇠를 회전하며 위치(각 좌표 간의 차이)를 기준으로 비교하며 찾아줬습니다. ​ ​ 자물쇠의 홈 부분이 모두 채워져야 열 수 있으므로 처음에는 자물쇠의 홈 개수를 체크해줬습니다. ​ 그리고 열쇠를 회전하며 비교해줬습니다. ​ ​ ​ 문제에 제시된 예제의 답을 예로 들어, ​ key를 시계 방향으로 90도 회전한 상태라고 가정하고 비교를 시작한다면, ​ 현재 .. 2023. 6. 15.
728x90