코딩테스트 (39) 썸네일형 리스트형 프로그래머스 레벨0 문자 반복 출력하기 문제 상황은 간단하다. my_string에 있는 문자를 n만큼 반복 출력해주면 된다 def solution(my_string, n): answer = [] for i in my_string: answer.append(i*n) return answer answer라는 빈배열을 만들어주고, for문을 통해 my_string의 원소만큼 반복해주고 i*n을 해줘서 원하는n만큼 곱해주면 된다. 하지만: 원하는데로 모든 문자가 연속적이지않고 3개씩 끊켜서 출력되었다. 이렇게 문자가 끊켜서 나오는걸 방지하려면 join함수를 사용해주면 된다. join함수를 사용하면 공백이나 줄바꿈도 자유자제로 연결해서 사용할수있다. def solution(my_string, n): answer = [] for i in my_strin.. 프로그레머스 레벨 0 모음 제거 우선 문제를 살펴보면 문자열에서 모음만 제거해주면되는 간단한 문제이다 그래서 replace함수를 쓰면 가볍게 풀수있을거라 생각했다. def solution(my_string): answer = '' vowels = ['a', 'e', 'i', 'o', 'u'] for i in range(len(my_string)): if i == vowels: answer = my_string.replace(i,'') return answer vowels라는 list에 모음을 두고, for문을 통해서 my_string에 들어있는 모음을 제거하려고했다. 하지만 my_string문자열이 모두 공백으로 나타났다. 위의 코드를 보면 (if i == vowels) 여기부분을 보면 정수형i를 문자열 vowels을 비교하는게 말이 .. 프로그래머스 레벨 0 개미 군단 우선 문제를 보고 가장 먼저한생각이 가장 공격력이 강한 장군개미를 활용하여야겠다 생각했다. def solution(hp): answer = 0 count = 0 if hp>=5: count = hp//5 hp = hp%5 if hp==4 or hp==3: hp = hp-3 count +=1 if hp==2: count +=2 if hp==1: count +=1 answer = count return answer 이런식으로 공격력 5짜리를 먼저 사용하고 공격력 3,1을 사용해주면 된다고 생각했다. 먼저 전체hp에서 5를 써서 공격할수있는것을 전부 공격해주는 hp%5를 하게된다면 5보다 작은 나머지가 나올꺼라 생각했다. 그래서 hp가 4,3,2,1인경우를 분류해서 코드를 썻더니 정답으로 나왔다. 유의할점:파.. 프로그래머스 레벨0 배열 뒤집기 문제 상황은 간단하다. 배열에 있는값을 반대로 출력하면 된다. 틀린코드: def solution(num_list): answer = num_list.reverse() return answer 이런식으로 쓰면 배열을 뒤집을수 있을줄 알았다,하지만 실행한 결괏값 null이 기댓값 [2,1,1,1,1,1]과 다릅니다. 실행한 결과 값이 null이 나왔다. 리스트 자체는 값을 뒤집었지만 answer 라는 변수에는 값이 지정되어있지않았다. 이러한 문제를 해결하려면 뒤집은 리스트 자체를 반환하면 된다고 생각했다. 옳은 코드: def solution(num_list): num_list.reverse() return num_list 이런식으로 num_list자체를 바꿔버리면 원하는 결과값을 얻을수있다. 느낀점:list.. 정올 문자열(761,763,993) 이번 문제에서는 문자열에서 공백을 출력하는 방법이 가장 중요하다 생각했다. 문자열에서 공백을 출력하려면 split()함수를 사용해주면 된다고 생각했다. A,B = input().split() print(B,A+B) 무리없이 정답이 나왔다. 이번 문제에서는 공백을 나타내게 입력을 받고, 공백을 제거해서 출력하는 문제이다 하지만 오른쪽 공백만 제거하면되서,rstirp함수를 써면 오른쪽 공백이 사라진다 a = input() b = input() print(a.rstrip()+" "+b.rstrip()) 이번에도 무리없이 정답이 나왔다. 이번 문제에서는 3가지 변수를 적절하게 출력하는 문제이다. 3가지 변수를 출력하는 어려가지 방법이 있겠지만 이번에는 format이라는 함수를 사용할것이다 처음푼 코드 name .. 프로그래머스 0단계 양꼬치 우선 문제를 보고 가장 먼저 생각한 것은 서비스로 나오는 음료의 개수를 구하자라는 생각을 가장 먼저 하였다. 그래서 service라는 변수를 두고 n의 입력된 수를 10으로 나눠서 서비스 음료의 개수를 구하려고 했다. def solution(n, k): service = n/10 answer = (n*12000) + (k-service)*2000 return answer 하지만 실패하였다. 생각해 보니 n/10은 n을 10으로 나눈다는 것인데 만약 763 같은 숫자일 때는 몫이 소수점까지 나와 틀리게 된 거 같다. 파이썬에서 몫을 정수로 구할 수 있는데 코드가 있나해서 찾아보니'//'를 쓰면 정수부분의 몫만 구할수있는 연산자가 있었다 그래서 코드를 고치니 정답으로 나왔다. def solution(n, k.. 프로그래머스 0단계 배열의평균값 우선 문제를 알아보자 문제를 보고 처음든 생각은 sum이라는 변수랑 for문을 써서 간단하게 풀면 된다고 생각했다. 처음풀이: def solution(numbers): sum = 0 numbers = [] for i in ragne(len.numbers): sum += numbers[i] sum = answer return answer 처음에는 이런식으로 풀었더니 AttributeError: 'builtin_function_or_method' object has no attribute 'numbers' 라는 에러가 생겼다.속성 에러? 뭔지 몰라 구글링해보니 numbers라는 변수가 존재하지않는다고 되었다. C언어에서는 numbers = []는 빈 배열을 만든다고 생각한다. 하지만 위의 코드에서는 어디에서.. 이전 1 2 3 4 5 다음