✏️ PS
[ C++ ] 프로그래머스 Level 2: H-Index
안녕하세요? 수구리입니다. 이번 포스팅은 H-Index에 대한 문제입니다. 아래에 문제 링크입니다. [ 문제 ] 코딩테스트 연습 Level 2: H-Index https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr H-Index란 ? H-Index는 과학자의 생산성과 영향력을 나타내는 지표이다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 한다. H-Index 계산방법 ..
[ C++ ] 프로그래머스 Level2: 다음 큰 숫자
안녕하세요? 수구리입니다. 이번 문제는 프로그래머스의 Level 2 문제를 풀어보려고 합니다. Level 2이지만 단순 구현 문제라서 어렵지는 않았습니다. 아래는 문제를 링크해두도록 하겠습니다. [ 문제 ] https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr [ 풀이 ] #include #include #include using namespace std; int countOne(s..
[ C++ ] 프로그래머스 Level 1: 핸드폰 번호 가리기
안녕하세요? 수구리입니다. 이번 코딩테스트 문제도 프로그래머스의 Level 1 문제입니다. 빠르게 살펴보도록 하겠습니다. 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. [ 문제 ] 프로그래머스 Level 1: 핸드폰 번호 가리기 https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고..
[ C++ ] 프로그래머스 Level1: 문자열 내 p와 y의 개수
안녕하세요? 수구리입니다. 이번 문제는 문자열에 관련된 내용입니다. 문제는 아래와 같습니다. 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return 하고 "Pyy"라면 false를 return 합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 아래에는 문제 링크를 남겨두겠습니다. [ 문제 ] 프로그래머스 Level 1: 문자열 내..
[ C++ ] 프로그래머스: 같은 숫자는 싫어
안녕하세요? 수구리입니다. 이번 문제는 숫자의 중복을 제거하는 문제를 알아보려고 합니다. 마찬가지로 프로그래머스 Level 1 문제입니다. 아래에는 문제를 링크해두었습니다! [ 문제 ] 프로그래머스: 같은 숫자는 싫어 https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr [ 나의 풀이 ] #include #include #include using namespace std; vector s..
[ C++ ] 프로그래머스: 나누어 떨어지는 숫자 배열
안녕하세요? 수구리입니다. 이번 포스팅에서는 저번 포스팅에서 풀었던 문제와 매우 유사합니다! 바로 문제부터 확인하고 와주세요! [ 문제 ] 프로그래머스: 나누어 떨어지는 숫자 배열 https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr [ 나의 풀이 ] #include #include #include using namespace std; vector..
[ C++ ] 프로그래머스: 약수의 합
안녕하세요? 수구리입니다. 이제 2021년도 끝이 보이기 시작했습니다..!! 다들 올해는 어떠셨는지요?! 바쁘고 치열하게 달려온 만큼 올해 초에 새웠던 나의 다짐들을 되돌아보면서 다가올 2022년도 모두들 건강하셨으면 좋겠습니다..! 아무튼 오늘 풀어볼 문제는 프로그래머스의 약수의 합 문제입니다. 나머지 연산인 %를 사용한 문제네요! [ 문제 ] 문제번호 : 문제 제목 https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명..
[ C++ ] 프로그래머스: 서울에서 김서방 찾기
안녕하세요? 수구리입니다. 이번 문제도 프로그래머스 Level 1 문제입니다. 문제의 제목을 유추해보면 어떤 특정 자료가 주어지면 find를 통해서 찾는 문제인 것 같죠?! 바로 문제를 보겠습니다. [ 문제 ] 프로그래머스: 서울에서 김서방 찾기 https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr [ 나의 풀이 ] #include #inc..
[ C++ ] 프로그래머스: 두 정수 사이의 합
안녕하세요? 수구리입니다. 이번 포스팅은 프로그래머스 Level 1 문제를 풀어보려고 합니다! 이제는 문제의 제목만 보아도 어떤 문제인지 대충 감이 오시죠?! 바로 문제를 보도록 하겠습니다..! [ 문제 ] 프로그래머스: 두 정수 사이의 합 https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr [ 나의 풀이 ] #include #include u..
[ Rotate Matrix ] 2차원 배열 회전 알고리즘
안녕하세요? 수구리입니다. 이번 포스팅에서는 PS 문제에서 한 번쯤은 보았을법한 2차원 배열 회전에 대한 내용입니다. 구체적인 문제를 풀면서 내용을 정리하려고 하였으나 좀 더 자주 쓰이는 내용일 것 같아서 따로 정리를 하는 글로 작성하게 되었습니다! 우선 간단하게 바로 5 X 5의 2차원 배열이 존재한다고 생각해보고, 시계방향으로 90도를 회전한다고 하였을 때 아래와 같은 그림입니다. 위의 그림에서 알 수 있는 부분은 90도 회전에서는 1행이 5열로 이동, 2행이 4열로 이동, 4행이 3열로 이동.. 따라서 정리 index(row, col)를 정리하면 아래와 같습니다. (0,0), (0,1), (0,2),... , (0,4) => (0,4), (1,4), (2,4),... (4,4) 규칙을 찾아내 보면,..