알고리즘 풀이 354

[Level1] 수박수박수박수박수박수?

문제 길이가 n이고 "수박수박수박수박 - - -"처럼 반복되는 문자열을 출력하려고 한다. n이 3이면 "수박수"라고 출력하고 n=6이면 "수박수박수박"을 출력하도록 한다. 입력 5 출력 "수박수박수" 1. 입력된 n만큼의 반복문을 생성한다. 2. 인덱스가 홀수면 "수"를 answer에 추가하고 짝수면 "박"을 answer에 추가한다. def solution(n): answer = '' for i in range(1,n+1): if i%2: answer+='수' else: answer+='박' return answer

[Level1] 문자열 다루기 기본

문제 문자열의 길이가 4 또는 6이고 숫자로만 구성되어 있으면 True, 그렇지 않다면 False를 반환하는 함수를 만들어본다. 문자열의 길이는 1이상 8이하이다. 입력 "a123" 출력 False 1. 처음에 문자열의 길이가 4가 아니고 6이 아니면 바로 False를 반환하도록 한다. 2. 이후 문자열을 탐색하여 'a' ~ 'z'에 속해있거나 'A' ~ 'Z'에 속해있으면 answer에 False를 대입하고 탐색을 종료한다. 3. 최종 answer를 출력한다. (위에 조건에 걸리지 않았다면 answer는 그대로 True일 것이다.) def solution(s): answer = True s_len=len(s) if s_len!=4 and s_len!=6: answer=False return answer..

[Level1] 문자열 내 p와 y의 개수

문제 문자열이 입력되었을 때 p와 y의 개수를 비교한다. 만약 두 문자의 개수가 같으면 True, 다르면 False를 출력한다. 이때 대소문자를 구분하지 않으며 p와 y가 하나도 없는 경우는 항상 True를 출력한다. 입력 "pPoooyY" 출력 True 1. p와 y의 개수를 count할 변수 2개를 생성한다. (cnt_p, cnt_y) 2. 문자열의 첫 번째 인덱스부터 탐색하여 p or P일 때는 cnt_p를 증가, y or Y일 때는 cnt_y를 증가시킨다. 3. 탐색이 종료된다면 cnt_p와 cnt_y를 비교하여 같으면 True, 다르면 False를 반환한다. def solution(s): answer = True cnt_p=0 cnt_y=0 for idx in range(len(s)): if s..

[Level1] 가운데 글자 가져오기

문제 문자열이 입력되면 가운데 글자를 반환하는 함수를 만들어본다. 만약 문자열의 길이가 짝수면 가운데 두 글자를 반환하도록 한다. 입려되는 문자열의 길이는 1이상 100이하이다. 입력 "abcde" "qwer" 출력 "c" "we" 1. 문자열의 길이가 홀수, 짝수인 경우에 따라 반환되는 글자의 수가 다르기 때문에 입력된 문자열의 길이를 구한다 2. 문자열의 길이를 통해 홀수, 짝수를 판단한다. 3. 홀수일 때는 문자열의 길이에서 2를 나눈 인덱스를 반환하며, 짝수일 때는 문자열의 길이에서 2를 나눈 인덱스에서 -1한 것과 2를 나눈 인덱스를 반환한다. def solution(s): answer = '' s_len=len(s) if s_len%2: answer+=s[s_len//2] else: answe..

728x90
반응형