목록2024/06 (52)
happy coding
문제 설명머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다.로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다.제한사항회원들의 아이디는 문자열입니다.회원들의 아이디는 알파벳 소문자와 숫자로만 이루어져 있습니다.회원들의 패스워드는 숫자로 구성된 문자열입니다.회원들의 비밀번호는 같을 수 있지만 아이디는 같을..
문제 설명머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요.[0, 0]은 board의 정 중앙에 위치합니다. 예를 들어 board의 가로 크기가 9라면 캐릭터는 왼쪽..
문제 설명머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.제한사항0 M, N 종이를 겹쳐서 자를 수 없습니다.내 풀이def solution(M, N): return M*N-1 다른 풀이def get_cut_cnt_dfs(width, height): width, height = min(width, height), max(width, height) if width == 1 and height == 1: return 0 re..
문제 설명PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요.제한사항spell과 dic의 원소는 알파벳 소문자로만 이루어져있습니다.2 ≤ spell의 크기 ≤ 10spell의 원소의 길이는 1입니다.1 ≤ dic의 크기 ≤ 101 ≤ dic의 원소의 길이 ≤ 10spell의 원소를 모두 사용해 단어를 만들어야 합니다.spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 두 개 이상 존재하지 않습니다.dic과 spel..
문제 설명선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.제한사항sides의 원소는 자연수입니다.sides의 길이는 2입니다.1 ≤ sides의 원소 ≤ 1,000내 풀이def solution(sides): return 2 * min(sides) - 1 다른 풀이def solution(sides): return sum(sides) - max(sides) + min(sides) - 1 https://velog.io/@pexe99/%ED%94..
문제 설명머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.제한사항1 ≤ balls ≤ 301 ≤ share ≤ 30구슬을 고르는 순서는 고려하지 않습니다.share ≤ balls내 풀이def solution(balls, share): ans = 1 a = 1 for i in range(1, share+1): a *= i while(share): ans *= balls ..
문제 설명머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.제한사항2 numbers의 길이 0 k numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.내 풀이def solution(numbers, k): ans = numbers[2*(k-1) % len(numbers)] return ans 다른 풀이from collections import ..
문제 설명my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.제한사항연산자는 +, -만 존재합니다.문자열의 시작과 끝에는 공백이 없습니다.0으로 시작하는 숫자는 주어지지 않습니다.잘못된 수식은 주어지지 않습니다.5 ≤ my_string의 길이 ≤ 100my_string을 계산한 결과값은 1 이상 100,000 이하입니다.my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다.계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다.my_string에는 연산자가 적어도 하나 포함되어 있습니다.return type 은 정수형입니다.my_str..