코딩테스트56 [프로그래머스] 42747번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr H-Index라는 개념은 처음 봤는데 신기했다. 굳이 저걸 왜 정의할까? 싶었는데 읽어보니 필요할 것 같았다. 인용한 논문 개수 자체와 인용된 논문에서는 그걸 몇 번을 인용했는지... 논문의 생산성, 영향력을 나타내니까. 어떤 과학자가 발표한 논문 N편 중, H번 이상 인용된 논문이 H편 이상이고 나머지 논문이 H번 이.. 2022. 6. 15. [백준] 1929번 문제출처: https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 소수 구하는 알고리즘 구현은 경험이 있기 때문에 코드를 금세 짰다. 두 수가 주어지는데, 그 두 수를 포함한 숫자 사이의 소수를 모두 출력하는 것이다. for문을 돌려서 소수로 판정나면 그 수를 print해주는 방식을 이용했다. 문제는 시간초과가 일어난다는 점이었다. 머리를 싸매다가 다른 사람들의 제출 코드도 참고하고, 인터넷에서 검색해서 찾아봤다. 이중 반복문 내에서 1과 자신을 제외한 값으로 나누어떨어지지 않는다면.. 2022. 6. 15. [프로그래머스] 12903번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 단어 s가 주어졌을 때, 단어 길이가 짝수라면 가운데 두 글자를 반환하고 홀수면 가운데 한 글자를 반환한다. 그래서 조건문으로 짝수, 홀수인 경우를 나누어줬다. 홀수이면 가운데 하나만 뽑아주면 되므로 s의 길이+1을 2로 나눈 번째의 알파벳을 출력했다. 다만, 0번째부터 시작이므로 뒤에 -1을 해주는 것도 잊지 .. 2022. 6. 15. [프로그래머스] 77884번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr left와 right 라는 두 정수가 주어지면, left와 right를 포함한 그 사이의 모든 수 중에서 그 수의 약수 개수가 짝수면 더하고, 홀수면 뺀다. 약수의 개수를 구하는 알고리즘은 어렵지 않았다. for문을 돌려 1부터 해당 숫자까지 범위로 잡고 나눠서 나머지가 0이면 count + 1 해주.. 2022. 6. 15. [프로그래머스] 12933번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 정수 n을 받아 각 자리수를 큰 것부터 작은 순으로(내림차순으로) 정렬한다. 문제 파악도 쉽고 엄청 짧은 코드로 쓸 수 있을 것 같았는데, 쓰다보니 꽤 길어졌다. n을 string의 형태로 다시 정의하고 n의 첫번째 숫자부터 하나씩 배열로 받았다. 이후 그 배열을 내림차순으로 정렬하고, 반복문을 만들어 .. 2022. 6. 15. [백준] 1010번 문제출처: https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 순열과 조합을 이용하는 문제같았다. 각 테스트 케이스에 대해 다리를 지을 수 있는 경우의 수를 출력하는 것이다. 예제를 확인해보니 순서는 고려하지 않는 것같았다. 그래서 선택 점이 같은 경우의 수는 빼줘야 했다. (중복되지 않도록.) 그래서 반복문을 만들어 순열과 "조합"의 형태를 만들어냈다. 2022. 6. 15. 이전 1 ··· 6 7 8 9 10 다음