목록분류 전체보기 (91)
눈송이의 개발생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BemM5/btrxZFwn1Q9/0PTSUKkPOGZbN48jG4nALk/img.png)
초기 세팅은 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 참고해서 진행했다. 🌱 IntelliJ에 새 프로젝트 생성 - gradle 새 프로젝트를 생성하기 위해서 IntelliJ를 열면 Create New Project 버튼이 상단에 있다. 그 버튼을 누르면 옆의 사진과 같이 프로젝트의 유형을 선택할 수 있는 창이 뜬다. 1. Gradle - Java를 선택 2. 폴더 위치와 이름 선택 3. Gradle 기반의 Java 프로젝트 생성됨 🌱 Github과 연동하기 - 이미 repository가 있는 경우 이미 존재하는 Github repository에 해당 프로젝트를 올리고 싶었기 때문에 IntelliJ에서 제공하는 "Share project on Github"는 사용하지 않았다. 터미널에서 다음 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EMOSB/btrxNXYafmi/iTWnqYxCQlwK4Tuyky1Ac1/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/77484 내 코드 def solution(lottos, win_nums): answer = [] match = 0 nomatch = 0 for item in lottos: if item in win_nums: match += 1 # number of matching numbers elif item == 0 : nomatch += 1 answer.append(7 - (match + nomatch if match+nomatch > 1 else 1)) answer.append(7 - (match if match >= 2 else 1)) return answer 다른 사람 풀이 def solution(lottos,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZQYUj/btrxED6sawI/2zpaiaKdmvcnbjaIxi9JNK/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/42889 내 코드 def solution(N, stages): answer = {} stages.sort() for i in range(1, N + 1): # 스테이지 성공 사람 수 c = stages.count(i) if c == 0: answer[i] = 0 # 스테이지 성공한 사람 수 / 스테이지 모든 사람 수 else: answer[i] = c / len(stages) # 성공한 사람만큼 앞에서부터 stack에서 없애기 for _ in range(c): stages.pop(0) # 딕셔너리 정렬하기 st = dict(sorted(answer.items(), key=lambda item: item[1]..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CgbN3/btrxjGKdaij/xcKFszWRJQK9HuQKaxKxH0/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/92334 내 코드 def solution(id_list, report, k): # 받을 이메일 개수 answer = {id: 0 for id in id_list} # key = 신고 당함, value : 신고함 r = {id: [] for id in id_list} # 리스트 내 중복되는 값 무시하기 위해서 report = list(set(report)) for i in range(len(report)): user, warn = report[i].split() r[warn].append(user) for item, value in r.items(): if len(value) >= k: for key in v..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwqRjM/btrxjoB340y/6kshTEV6Mcchoakq38N9EK/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/64061 내 코드 def solution(board, moves): answer = 0 stack = [] for i in range(len(moves)): col = moves[i] - 1 for j in range(len(board)): if board[j][col] != 0: out = board[j][col] board[j][col] = 0 stack.append(out) if len(stack) >= 2: if stack[-1] == stack[-2]: stack.pop() stack.pop() answer += 2 break return answer 다른 사람 풀이 def solution(boar..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9Ad89/btrw2NPeWH5/imZDVLnBJ17jjHVjdnEPT1/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/67256 내 코드 def solution(numbers, hand): answer = '' lhand = 10 rhand = 11 # index == number로 좌표 만들기 points = [(3, 1), (0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), (3, 0), (3, 2)] for i in numbers: if i in [1, 4, 7]: answer += "L" lhand = i elif i in [3, 6, 9]: answer += "R" rhand = i # 2580 나온 경우 else: ldist = abs(p..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/47u6p/btrwXzRsFiF/W3g59CZaZrpt46z2NEGPOK/img.png)
문제 https://programmers.co.kr/learn/courses/30/lessons/81301 내 코드 def solution(s): dict = {"zero": 0, "one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6, "seven": 7, "eight": 8, "nine": 9} answer = "" temp = "" arr = list(s) for i in range(len(arr)): if arr[i].isdigit(): answer += arr[i] temp = "" else: temp += arr[i] if temp in dict: answer += str(dict[temp]) temp = "" return int(ans..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cRpuLO/btrvBkVUlRK/muztwEFVISmsg4DKn7zQD1/img.png)
문제 - 콜라츠 추측 https://programmers.co.kr/learn/courses/30/lessons/12943 내 코드 def solution(num): count = 0 while count 0: t = c % d c, d = d, t answer = [c, int(a*b/c)] return answer 해결 방법 나는 math 모듈에서 gcd()함수를 가져와서 사용했다.(최대공약수 찾아주는 함수) lcm()은 gcd()만 사용하면 금방 만들 수 있어서 쉽게 최소공배수까지 찾을 수 있었다. 다른 사람의 풀이를 보니 유클리드 호제법을 사용해서 풀었다고 하길래 공부해보았다! https://hihellosuah.tistory.com/74 [Algorithm]유클리드 호제법 - 두 수의 최대공약수..