목록구현 (98)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1. 주의할 점 - 문제의 조건을 잘 이해하고 그대로 구현한다 2. 구현 - dq 덱을에 new_id를 1차 필터링 한 결과를 담는다(특정 문자 + 연속된 . 처리 + 대문자→소문자) : 1,2,3번 조건 처리 - Cnt 변수를 통해 덱의 크기를 나타낸다 - if문을 각각 수행하여 덱의 가장 앞쪽과 뒤쪽이 . 이면 제거한다 : 4번 조건 처리..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 1. 주의할 점 - 차례대로 완벽하게 구현한다 - 우선순위큐와 Map을 활용한다 2. 구현 - Table 벡터에 있는 정보들을 각각 V 벡터와 M[] 맵에 담는다. 맵에 담는 이유는, M[][언어]를 검색했을 때, 보다 빠르게 검색이 되기 때문이다 - 5개의 직업군에 대해 각각의 언어와 선호도를 계산하여 우선순위큐에 넣는다. 이때, 우선순위큐는 총점..
문제 링크: 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://www.hackerrank.com/challenges/chocolate-feast/problem Chocolate Feast | HackerRank Calculate the number of chocolates that can be bought following the given conditions. www.hackerrank.com 1. 주의할 점 - N으로 초콜릿 구매는 1회다 2. 구현 - N으로 구매할 수 있는 초코의 수는 N/C - 초코를 구매했다면 Result에 더한 후, Wrapper에 먹은 초코의 수만큼 더한다 - Wrapper로 교환할 수 있는 초코의 수를 구한다 - 교환하고 남은 Wrapper의 수를 갱신한다 int chocolateFeast(int n, in..
문제 링크: www.acmicpc.net/problem/15831 15831번: 준표의 조약돌 첫 줄에 조약돌의 총 개수 N, 준표가 원하는 검은 조약돌의 최대개수 B와 하얀 조약돌의 최소개수 W가 주어진다. 둘째 줄에는 N개의 조약돌의 정보가 한 줄로 주어진다. i번째 문자가 B라면 i번 조 www.acmicpc.net 1. 주의할 점 - 두 포인터를 사용한다 2. 구현 - 0번째 돌 추가 이후 While문을 수행한다 - L=R=Result=0으로 초기화하고 시작한다 - 조건에 맞게 산책이 가능할때, Result값과 비교하여 갱신한다 - 검정색 조약돌의 수가 기준치보다 적거나 같을 때, R을 오른쪽으로 한칸 더 움직인다 → incR() 함수 수행. 이때, False를 반환할 경우 While문을 종료한다..
문제 링크: programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 1. 주의할 점 - 배열을 시계방향으로 한칸씩만 민다 - 매 쿼리마다 최소값을 초기화하고 시작한다 2. 구현 - Arr[][] 배열에 알맞은 숫자들을 미리 할당한다 - Comp() 함수를 통해 최소값을 갱신한다 - 쿼리마다 Mini값을 초기화 시켜준다 - (y1,x1)의 좌표를 Temp에 저장시키고, 중앙을 기준으로 좌하우상 기준으로 한칸씩 민다..
문제 링크: programmers.co.kr/learn/courses/30/lessons/77484?language=cpp 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 1. 주의할 점 - 1개 or 0개 번호 일치시 6등 2. 구현 - Number[] 배열을 통해 로또에서 불린 번호들을 True로 저장한다 - Match와 Zero 변수를 통해 6개의 번호중에서 당첨 번호와 같은 수, 0인 수를 구한다 - Ranking[] 배열을 통해 Ranking[Match+..