파이썬 14

프로그래머스) 이모티콘 할인행사(python)

문제https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 나의 풀이def solution(users, emoticons): answer = [0, 0] data = [10, 20, 30, 40] discount = [] def dfs(L,tmp): if L == len(tmp): discount.append(tmp[:]) return else: for i in data: ..

[백준_4963번] 섬의 개수 (python)

문제 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 나의 풀이_BFS - visited를 사용하지 않고 풀이를 진행했다. - tuple을 사용하여 꼭 deque에 ([(x,y)])를 해준다! - 가로,세로,대각선을 모두 가기 때문에 8가지로 처리해준다 from collections import deque import sys input = sys.stdin.readline dx = [-1,1,0,0,-1,-1,1,1] dy = [0,0,-..

백준) 1717번_집합의 표현 (python)

https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 나의 풀이 import sys sys.setrecursionlimit(100000) input = sys.stdin.readline n,m = map(int, input().split()) arr = [i for i in range(n+1)] def find(a): if a == arr[a]: return a arr[a] = find(arr[a]) return..

프로그래머스) 문자열 내 마음대로 정렬하기 (python)

https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import defaultdict from operator import itemgetter def solution(strings, n): answer = [] strings.sort() arr = defaultdict(str) for i in range(len(strings)): arr[i]+=strings[i][n] sort_value = sorted(arr.ite..

프로그래머스) 124나라의 숫자 (Java & Python)

https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이(Java) import java.util.*; class Solution { public String solution(int n) { String answer = ""; String[] numbers = {"4","1","2"}; while(n>0){ answer+=numbers[n%3]; if (n%3==0){--n;} n=n/3; } System.out.println(answer);..

[프로그래머스] h-Index (python)

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해석 https://www.ibric.org/myboard/read.php?Board=news&id=270333 [연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? 일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문 www.ibric...

[프로그래머스] 타겟 넘버 (python), DFS

https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 def DFS(numbers, target,idx,sum): global count if idx == len(numbers): if sum == target: count +=1 return count else: DFS(numbers,target, idx+1, sum+numbers[idx]) DFS(numbers,target, idx+1, sum-numbers[idx]) def solut..

이진트리순회(DFS : Depth First Search) with python

" 인프런 - 파이썬 알고리즘 문제풀이 입문 강의 참고" 이진트리 순회(깊이우선 탐색) 전위순회 : def DFS(v): if v>7: return else: print(v ,end=" ") DFS(v*2) DFS(v*2+1) if __name__=="__main__": DFS(1) 보통 본연의 작업들을 처리하고 그다음 호출하는 방식이 전위순회 방식이다 중위순회: def DFS(v): if v>7: return else: DFS(v*2) print(v, end=" ") DFS(v*2+1) if __name__=="__main__": DFS(1) 후위순회: def DFS(v): if v>7: return else: DFS(v*2) DFS(v*2+1) print(v, end=" ") if __name__==..

백준 3085 :: 사탕 게임 (python)

문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 분류 구현 부르트포스 알고리즘 나의 풀이 import sys input = sys.stdin.readline def check(arr): n=len(arr) answer =1 for i in range(n): cnt =1 for j in range(1,n): if arr[i][j] == arr[i][j-1]: cnt +=1 else: cnt=1 if cnt > answer: answer =cnt cnt=1 for j in range(1,n): if arr[j][i] == arr[j-1][i]: cnt+=1 e..