https://school.programmers.co.kr/learn/courses/30/lessons/12946?language=kotlin 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr[문제]하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다. 한 번에 하..
https://school.programmers.co.kr/learn/courses/30/lessons/42578?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [문제]코니는 매일 다른 옷을 조합하여 입는 것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다.종류이름얼굴동그란 안경, 검정 선글라스상의파란색 티셔츠하의청바지겉옷긴 코트코니는 각 종류별로 최대 1가지 의상만 착용할 수..
https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [문제]전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, ..
[문제]JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해 주세요. [제한 조건]s는 길이 1 이상 200 이하인 문자열입니다.s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.숫자는 단어의 첫 문자로만 나옵니다.숫자로만 이루어진 단어는 없습니다.공백문자가 연속해서 나올 수 있습니다.[입출력 예] [풀이]일단 문제를 살펴보면 결국 모든 문자가 소문자로 변경시켜 버리는 게 전제입니다.모든 문자를 소문자로 변경시킨 뒤, 공백을 기준으로 단어들을 구분하여 각 단어의 첫 글자..
https://school.programmers.co.kr/learn/courses/30/lessons/12915?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [문제]문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. [제한 조건]strings는 길이 1 이상, 50 이하인 배열입니다...
https://school.programmers.co.kr/learn/courses/30/lessons/12944 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [문제]정수를 담고 있는 배열 arr의 평균값을 return 하는 함수, solution을 완성해 보세요.arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. [입출력 예] [풀이]주어진 배열의 요소를 모두 더한 후에 해당 배열의 사이즈만큼 나눠줍니다.예시처럼 소수점으로 return 되는 경우를 고려하여 문제 반환 타입은 Double이..
1 이상 n이하의 소수를 오름차순으로 출력하는 프로그램을 작성해 보세요. 소수 판별에서 에라토스테네스의 체 기법이 많이 활용되고 있습니다.에라토스테네스의 체란?2부터 n까지의 모든 숫자를 나열합니다.현재 숫자를 소수로 표시하고, 현재 숫자의 배수를 모두 지웁니다.남아있는 숫자 중에서 다음 소수를 선택하고 2번 과정으로 돌아갑니다.n의 제곱근까지 반복하면 모든 소수가 남습니다.val isPrime = BooleanArray(n + 1) { true }isPrime[0] = falseisPrime[1] = false일단 모든 값을 소수라고 가정해 놓고 소거법 시키는 것과 비슷합니다.0과 1은 소수가 아니므로 false로 설정합니다. for (i in 2..n) { if (isPrime[i]) { ..
https://www.acmicpc.net/problem/10431 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1번, 그다음이 2번,... , 가장 큰 아이가 20번이 된다. 강산이네 반 아이들은 항상 20명이며, 다행히도 같은 키를 가진 학생은 한 명도 없어서 시간이 조금 지나면 아이들은 자기들의 번호를 인지하고 한 줄로 세우면 제대로 된 위치에 잘 서게 된다.하지만 매년 첫 며칠간 강산이와 강산이네 반 아이들은 자기가 키 순으로 몇 번째인지 잘 알지 못해 아주 혼란스럽다. 자기 위치를 찾지 못하는 아이들을 위해 강산이는 특별한 방법을 생각해 냈다.우선 아무나 한..
영식이는 직사각형 모양의 성을 가지고 있다. 성의 1층은 몇 명의 경비원에 의해서 보호되고 있다. 영식이는 모든 행과 모든 열에 한 명 이상의 경비원이 있으면 좋겠다고 생각했다.성의 크기와 경비원이 어디 있는지 주어졌을 때, 몇 명의 경비원을 최소로 추가해야 영식이를 만족시키는지 구하는 프로그램을 작성하시오.첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는. 은 빈칸, X는 경비원이 있는 칸이다.첫째 줄에 추가해야 하는 경비원의 최솟값을 출력한다.https://www.acmicpc.net/problem/1236 처음에 단순하게 Column만 바라보고 단순하게 풀었으나 Row에 대해서도 모두..
문제 : 행의 크기가 정수 n으로 주어집니다. 행의 크기가 n인 파스칼 삼각형을 출력하는 프로그램을 작성해 보세요. 파스칼 삼각형이란 다음과 같은 형태로 나타나며, (i, j)에 적힌 숫자가 (i - 1, j - 1)에 적힌 숫자와 (i - 1, j)에 적힌 숫자의 합으로 나타납니다.n = 5일때의 예 파스칼 삼각형 구조를 이해해 보자면, 각 행의 첫 번째와 마지막 요소가 1입니다.그리고 중간의 요소가 바로 윗부분 2개 요소의 합이 됩니다. 로직은 파스칼 삼각형을 저장할 2차원 배열을 선언 후, 2차원 배열에 윗부분 두 개 값을 더하여 넣어줍니다.fun generatePascalTriangle(n: Int): List> { // 파스칼 삼각형을 저장할 리스트 초기화 val triangle =..