2018년 카카오 blind 코딩 테스트 - 오픈채팅방 python
·
Algorithm
2018년 카카오 blind 코딩 테스트 - 오픈채팅방 python 문제 설명 : 오픈채팅방카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다.“ [닉네임]님이 들어왔습니다.” 채팅방에서 누군가 나가면 다음 메시지가 출력된다.“[닉네임]님이 나갔습니다.” 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다.채팅방에서 닉네임을 변경한다.닉네임을 변경할 때는 기존에 ..
programmers lv1 문자열 다루기 기본 python
·
Algorithm
programmers lv1 문자열 다루기 기본 python 문제 설명문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항s는 길이 1 이상, 길이 8 이하인 문자열입니다.출처 : https://programmers.co.kr/learn/courses/30/lessons/12918 문제 풀이(정답)[1] 문자열의 길이는 len()을 이용해 확인합니다.[2] 문자열이 숫자로 구성되어있는지는 isdigit() 를 이용해 확인합니다. def solution(s): if (len(s) == 4 or len(s) == 6) and s.isdigit(): ret..
programmers lv1 문자열 내림차순으로 배치하기 python
·
Algorithm
programmers lv1 문자열 내림차순으로 배치하기 python 문제 설명문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항str은 길이 1 이상인 문자열입니다.출처 : https://programmers.co.kr/learn/courses/30/lessons/12917문제 풀이(정답)[1] sorted()를 이용해 오름차순으로 정렬합니다.[2] sorted() 결과는 배열이기 때문에 문자열로 연결합니다. def solution(s): # 대문자는 소문자보다 작은 것으로 간주한다?! answer = '' for item in sorted..
programmers lv1 문자열 내 p와 y의 개수 python
·
Algorithm
programmers lv1 문자열 내 p와 y의 개수 python 문제 설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한 사항문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/12916 문제 풀이 (정답)..
programmers lv1 문자열 내 마음대로 정렬하기 python
·
Algorithm
programmers lv1 문자열 내 마음대로 정렬하기 python문제 설명문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 문제 풀이(정답)[1] 제한조..
programmers lv2 전화번호 목록 python
·
Algorithm
programmers lv2 전화번호 목록 python문제 설명 : 해시(hash)전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항phone_book의 길이는 1 이상 1,000,000 이하입니다.각 전화번호의 길이는 1 이상 20 이하입니다. ..
programmers lv1 두 정수 사이의 합 python
·
Algorithm
programmers lv1 두 정수 사이의 합 python 문제 설명두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다. 출처 : https://programmers.co.kr/learn/courses/30/lessons/12912 첫 번째 풀이(정답)[1] a와 b라는 대소 관계가 정해져 있기 않기 때문에 min(), max()로 어느 것이 최대 최소인지 확인합니다.[2..
programmers lv1 나누어 떨어지는 숫자 배열 python
·
Algorithm
programmers lv1 나누어 떨어지는 숫자 배열 python 문제 설명array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항arr은 자연수를 담은 배열입니다.정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.divisor는 자연수입니다.array는 길이 1 이상인 배열입니다. 첫 번째 풀이(정답)[1] arr에서 divisor로 떨어지는 값인지 확인합니다.[2] 배열에 element가 없다면 -1을 넣습니다.[3] element가 있다면 sort() 를 이용해 정렬합니다. def so..
김 정출
'Algorithm' 카테고리의 글 목록 (4 Page)