목록알고리즘/프로그래머스 (62)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 3주차 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr 1. 주의할 점 - 구현할 부분이 많으니 헷갈리지 않도록 변수명 및 함수명을 잘 작성한다 2. 구현 - 가로/세로의 최대길이가 5..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 1. 주의할 점 - 행/열 구분을 잘 한다 2. 구현 - 각 행마다 최대 점수, 최소 점수, 총합을 구한다 - 본인의 점수가 최대 혹은 최소 점수인 경우, 총합과 총 인원을 수정하여 score2grade() 함수를 통해 학점을 계산한다 - 학점들을 모두 붙여서 반환한다 #include #i..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 1. 주의할 점 -정답이 int의 범위를 벗어날 수 있다 2. 구현 - 놀이기구를 타는데 필요한 비용 - 보유 금액을 구하며, 만약 이 값이 음수가 아닌 경우 0을 반환한다 using namespace std; long long cal(int count){ return (count*(count+1))/2; } long long soluti..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 1. 주의할 점 - 어렵다... 많이 어렵다(이전 인턴 문제에 비해 난이도가 급 상승했다) - 세그먼트 트리 or 리스트 or STL에 대한 이해도가 높은 해결 할 수 있다 2. 구현 - 세그먼트 트리 or 리스트로는 아직 풀어보지 않아서 Set을 통해 해결했다(조만간 세그먼트 트리, 리스트로도 풀어..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 1. 주의할 점 - BFS를 통해 해결하며, 무엇을 기준으로 수행 할 것인지 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 1. 주의할 점 - 딱히 없다... 2. 구현 - 여러 가지 방법이 존재한다. Map을 통해 저장&비교, Substring 그리고 나와 같은 풀이 - 만약 C가 숫자라면 Str에 붙이고, 영어라면 0~9까지 앞글자를 비교하여 해당 숫자를 찾은 후, i의 값을 변경시킨다. 이때, 첫 글자가 같은 숫자가 있으므로 이 경우에는 2번째 글자까지 ..
문제 링크: programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 1. 주의할 점 - 회전시킨 문자열은 어떻게 구상할 것인가 2. 구현 - 기존 파라미터로 받은 문자열 SS의 길이를 Len에 저장한다 - SS를 2개 이어서 새로운 SS를 만든다 - For문을 통해 0~Len-1에서 시작해서 Len만큼의 길이를 검사한다 → 회전에 대한 처리를 할 필요가 없다 - Stack을 이용하여 괄호의 짝이 모두 맞아서 Stack이 빈 경우, Answer++를 수행한다 #include #include #include using namespace std; int solution(string ss) { int answer ..
문제 링크: programmers.co.kr/learn/courses/30/lessons/1832 코딩테스트 연습 - 보행자 천국 3 3 [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 6 3 6 [[0, 2, 0, 0, 0, 2], [0, 0, 2, 0, 1, 0], [1, 0, 0, 2, 2, 0]] 2 programmers.co.kr 1. 주의할 점 - Check[][][] 배열이 갱신될 때마다 MOD로 나눈 나머지를 저장한다 - (Y,X)에 Dir의 방향에서부터 온 적이 여러번 있다면, 최종 경우에만 BFS를 수행하도록 한다 (안하면 메모리 초과 가능성↑) 2. 구현 - 2 방향으로만 이동가능하므로 항상 특정 지점까지의 거리는 최단거리로 구해진다 → Info 구조체를 큐에 삽입하여 B..