알고리즘 146

프로그래머스 LEVEL 2 : 영어 끝말잇기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1부터 N까지 번호가 붙어있는 N명의 사람이 규칙에 따라 영어 끝말잇기를 할 때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는지를 구하는 함수를 완성하는 문제였습니다. 규칙은 다음과 같습니다. 1. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 2. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 3. 앞사람이 말한 단어의 마지막 문..

프로그래머스 LEVEL 1 : 소수 찾기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1부터 입력받은 숫자 N 사이에 있는 소수의 개수를 반환하는 함수를 완성하는 문제였습니다. '에라토스테네스의 체'를 이용하여 소수의 개수를 구해 문제를 해결했습니다. [소스코드] [실행결과]

프로그래머스 LEVEL 1 : 수박수박수박수박수박수?

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 길이가 N이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수를 완성하는 문제였습니다. string에 입력받은 N만큼 '수'와 '박'을 알맞게 더해주고 리턴하면 되는 문제였습니다. [소스코드] [실행결과]

백준 14499 : 주사위 굴리기

문제 링크입니다 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도에 쓰여 있는 수가 북쪽부터 남쪽으로, 각 줄은 서쪽부터 동쪽 순서대로 주어진다. 주사위를 놓은 칸에 쓰여 있는 수는 항상 0이다. 지도의 각 칸에 쓰여 있는 수는 10을 넘지 않는 자연수 또는 0이다. 마 www.acmicpc.net N x M 지도에서 주사위를 굴릴 때마다 주사위의 맨 위에 있는 숫자를 출력해야 하는 문제였습니다. 문제에서 주..

프로그래머스 LEVEL 1 : 이상한 문자 만들기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열 s를 매개변수로 입력 받아서 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수를 완성하는 문제였습니다. 단, 문자열 전체의 짝/홀수 인덱스가 아니라, 공백을 기준으로 짝/홀수 인덱스를 판단해야하고, 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제 풀이 절차는 다음과 같습니다. [1] 문자열의 처음부터 끝까지 한..

프로그래머스 LEVEL 1 : 자릿수 더하기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 함수를 만드는 문제였습니다. N이 0이 될때까지 10으로 나눠주면서 나머지를 정답 변수에 누적해서 더한 후 N을 10으로 나눈 몫이 0이 되면 반환하면 되는 문제였습니다. [소스코드]

프로그래머스 LEVEL 1 : 자연수 뒤집어 배열로 만들기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12932 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자연수 N을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태를 반환하는 함수를 완성하는 문제였습니다. 정수 N을 10으로 나눈 나머지를 벡터에 계속 push 하면서 정수 N을 10으로 나눈 값으로 바꾸는 무한 루프를 통해 문제를 해결했습니다. [소스코드]

프로그래머스 LEVEL 1 : 정수 내림차순으로 배치하기

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정수 N을 매개변수로 입력받고, N의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 반환하는 함수를 작성하는 문제였습니다. 두 가지 방법으로 풀어봤습니다. 첫 번째, 벡터 하나를 만들고, 각 자릿수를 담아 오름차순으로 정렬한 뒤 작은 수부터 각각 1, 10, 100, ... 씩 곱해가며 answer를 새로 만드는 형태로 문제를 해결했습니다. 두 번째는 to_string() 함수와 s..

프로그래머스 LEVEL 1 : 정수 제곱근 판별

문제 링크입니다 https://programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 임의의 양의 정수 N에 대해, N이 어떤 양의 정수 X의 제곱인지 아닌지 판단하는 함수를 완성하는 문제였습니다. 제곱근을 구해주는 'sqrt() 함수'를 알면 쉽게 풀리는 문제였습니다. [소스코드]