일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- itertools
- 과일 장수
- 들여쓰기로 표현한 트리
- LV.1
- python
- 파이썬
- import itertools
- list
- 자바
- 태그
- 알고리즘
- Import
- 코딩테스트
- 리스트
- 큐
- 좋은 알고리즘
- Combination
- 알고리즘의 조건
- Tree
- 자료구조
- 유사코드
- 코딩 테스트
- 스택
- 유한소수 판별하기
- html
- 트리
- java
- 알고리즘 표현
- 프로그래머스
- 알고리즘의 조건 5가지
- Today
- Total
목록코딩테스트 (56)
인천의 자유인

나의 문제 풀이def solution(s): if s.isdigit() == True and len(s) in [4,6]: return True else: return False isdigit()은 숫자인지 아닌지 판단하는 함수입니다. 알파벳 하나라도 들어가 있으면 나머지가 숫자라도 숫자가 아니기 때문에 isdigit()을 사용했습니다. 또한 문자열 길이가 4 또는 6이어야 하기 때문에 len(s) in [4,6]을 사용해서 if문을 만들었습니다.즉 s 문자열이 숫자가 True이면서 s의 길이가 4이거나 6이면 True로 하고 그것이 아니면 False를 출력하는 방식으로 프로그램을 짰습니다.

나의 문제 풀이def solution(left, right): num = 0 for x in range(left,right+1): answer = 0 for y in range(1,x+1): if x%y == 0: answer+=1 if answer%2 == 0: num += x elif answer%2 ==1: num -= x return num num은 최종 연산을 return하기 위한 변수입니다.먼저 작은 수부터 큰 수까지 한번식 루프를 돌립니다. 그런 다음 이중 for문으로 x의 약수의 개수를 찾습니다. 그리고 answer+=1를 통해 약수가 나..

나의 문제 풀이def solution(arr, divisor): answer = [] for i in arr: if i%divisor == 0: answer.append(i) return sorted(answer) if len(answer) > 0 else [-1] 먼저 arr요소를 for문으로 하나씩 루프를 돌려서 그 요소가 만약 divisor과 나누어 떨어지는 수일 경우에는 answer 리스트에 추가합니다. 단 리턴을 할 때 값을 오름차순으로 정렬해야하며 만약 나누어 떨어지는 요소가 없을 경우에는 [-1]를 출력을 해야하기 때문에 한줄 if문을 이용해서 리턴했습니다. 마지막 return에 있는 것이 이해하기 여러우시면 아래와 같은 의미라고 보시면 될 것..

나의 문제 풀이def solution(s): answer = s.upper() return True if answer.count('P') == answer.count('Y') else False 먼저 문자열s내에 있는 문자들의 개수를 파악하기 쉽게 하기위해 이 안에 있는 문자열을 모두 대문자로 변경해줍니다.그런 후에는 count함수를 사용해서 문자열 내에 있는 P의 개수와 Y의 개수가 같다면 True을 return하고 아니면 False를 return하도록 해 줍니다.

나의 문제 풀이def solution(num, total): answer = [] x = -num while True: total1 = total for i in range(x,x+num): total1 = total1 -i if total1 == 0: for j in range(x, x+num): answer.append(j) break x+=1 return answer 먼저 x 변수는 -num으로 만듭니다. 그 이유는 원소 안에 -가 들어 있는 경우가 있고 -total로 하기에는 너무 루프를 많이 돌리게 되어서 가장 적당하게 -num으로 했습니다..

나의 문제 풀이def solution(i, j, k): answer = 0 for x in range(i,j+1): answer+= str(x).count(str(k)) return answer i와 j 사이의 숫자를 str형으로 출력해서 그 숫자 안에 내가 원하는 숫자가 몇개 나오는지 count를 통해서 구했습니다.

나의 문제 풀이def solution(bin1, bin2): answer = '' number = 0 bin1 = "".join(reversed(bin1)) bin2 = "".join(reversed(bin2)) for i in range(len(bin1)): if bin1[i] == '1': number += 2**i if bin2[i] == '1': number += 2**i div = 0 while True: div = number%2 number = number//2 if div == 0: answer += '0' elif di..

나의 문제 풀이def solution(id_pw, db): answer = '' for i in db: if i[0] == id_pw[0] and i[1] == id_pw[1]: return 'login' if i[0] == id_pw[0] and i[1] != id_pw[1]: answer = 'wrong pw' if answer == '': return 'fail' return answer 여기 문제에서 의도하는 바는 bd 안에서 id_pw 하나라도 아이디 비밀번호가 같은 것이 있으면 login을 리턴하는 것이고 아이디라도 같은 것이 있으면(아이디 비밀번호 둘 다 같은 것이 없을 경우) wrong pw를..

나의 문제 풀이def solution(babbling): lst = [] words = ['aya', 'ye', 'woo', 'ma'] for i in range(len(babbling)): for j in words: if j in babbling[i]: babbling[i] = babbling[i].replace(j,' ') lst.append(babbling[i]) count =0 for i in lst: if i.isspace() == True: #공백만 있는지 확인 count += 1 return count 먼저 빈 리스트 lst를 만듭니다.그리고 aya, ye..

나의 문제 풀이def solution(numlist, n): numbers = [] for i in numlist: numbers.append(i - n) numbers = sorted(numbers, reverse=True, key=abs) for i in range(1,len(numbers)): if numbers[i-1] == -numbers[i] and numbers[i-1] > 0: numbers[i-1],numbers[i] = numbers[i], numbers[i-1] for i in range(len(numbers)): numbers[i] += n numbers.revers..