본문 바로가기

공부72

[프로그래머스] 81301번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 2021년 카카오 채용연계형 인턴쉽 문제다. 제일 첫 문제로 낸 것같다. 나머지는 대충 둘러봤는데 나한텐 드럽게 어려워서 손절하고 Lv 1짜리만 건드려본다. 저는 말하는 감자입니다. ​ 문제에서 요구하는 건 간단하다. 0~9까지 zero~nine의 영단어로 출력된 문자열을 숫자로 바꾸는 것이다. 원래 숫자인 부분은 그냥 숫자로 둔다. 즉, .. 2022. 6. 15.
[프로그래머스] 12977번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 백준에서도 만났던 유형이다. 소수는 자기 자신 이전의 숫자까지 1이 아닌 다른 수로 나누어떨어지면 안된다는 점을 이용했다. ​ 배열 내 각 원소의 값을 더하는 알고리즘은 다음과 같다. 맨 첫번째(0번째)부터 시작 반복문(1), 그 반복문 내에서 1번째부터 시작 반복문(2), 그 반복문 내에서 2번째부터 시작 반복문(3). 이렇게 해.. 2022. 6. 15.
[프로그래머스] 86051번 문제출처: https://programmers.co.kr/learn/courses/30/lessons/86051?language=python3 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr 0~9까지 모든 원소 중 일부가 주어지고, 없는 원소를 찾아 더한 값을 구하는 것이다. 나는 먼저 0~9까지 모든 원소가 있는 배열 all을 선언했다. all 길이만큼 반복문을 돌려서 all의 원소를 하나하나 numbers에 있는지 대조하고, 없으면 answer 값에 그 원.. 2022. 6. 15.
[백준] 10103번 문제출처: https://www.acmicpc.net/problem/10103 10103번: 주사위 게임 첫 라운드는 상덕이의 승리이다. 따라서 창영이는 6점을 잃게 된다. 두 번째 라운드는 두 사람의 숫자가 같기 때문에, 아무도 점수를 잃지 않고 넘어간다. 세 번째 라운드의 승자는 창영이이기 www.acmicpc.net 두 사람(c,s)의 점수는 100점으로 시작한다. 두 사람이 굴린 두 주사위의 크기로 우열을 가렸을 때, 작은 수가 나온 사람이 큰 수가 나온 사람의 주사위 수만큼 점수를 잃는다. 반복하는 게임횟수만큼 말그대로 구현해주면 된다. ​ 2022. 6. 15.
[백준] 7568번 문제출처: https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 브루트포스 알고리즘인데, 먼저 브루투 포스 알고리즘에 대해 간단히 이야기 하자면 이렇다. 주어진 경우의 모든 경우의 수를 구한다. 그리고 그 중에서 원하는 입력값에 맞는 값을 찾아낸다. 이러기 위해선 완전 탐색이라는 것을 해야 예외없이 완벽하게 수행할 수 있다. ​ 브루트 포스는 선형 구조일 때는 순차 탐색을, 비선형 구조일 때는 깊이 우선 탐색(DFS), 너비 우선 탐색(.. 2022. 6. 15.
[백준] 1789번 문제출처: https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 슬금슬금 실버 5단계로 올라와서 풀기 시작한 문제다.(아직 수학구현이긴 하지만...) 사실 이 당시의 나한테는 브론즈 2~ 실버 5단계는 나누는 것에 의미가 없었다. 브론즈가 더 어렵게 느껴질 때도 있는 초짜여서 그랬던가^_ㅠ ​ 아무튼 문제의 내용을 요약하자면, 서로 다른 N개의 자연수의 합이 S인데, S가 주어졌을 때 N의 최대 개수를 구하는 것이다. 최소 개수면 그냥 자기 자신을 합한 경우인 1밖에 안 나오기 때문에 최대 개수로 정한 듯하다. 가령, S = 55라면, 우리는 1+2+3+4+5+6+7.. 2022. 6. 15.