본문 바로가기

분류 전체보기

(160)
항해 플러스 코육대 - HangMan 게임 만들기 오늘은 항해 플러스 제 1회 코딩대회에서 HangMan 게임을 만든 경험을 공유해보려 합니다. HangMan 게임은 단어를 맞추는 게임으로, 사용자가 단어를 추측하면서 하나씩 알파벳을 맞춰나가는 게임입니다. 이번 대회에서는 flutter를 이용해 이 게임을 만들었는데, 추석 때 심심하던 찰나에 재밌는 경험이었습니다. 이 경험을 통해 flutter의 장점과 함께 코딩 대회에서의 경험을 공유하고자 합니다. 추천인 : 정민석 1. 기능 구현 설명 (바탕 화면은 홈페이지 썸네일에서 가져왔다) 1. 첫 화면은 문제를 선택하는 페이지 입니다. 위의 페이지에서는 'hangman', 'flutter', 'dart', 'mobile', 'game', 'program', 'developer', 'android', 'jav..
[백준/1149/파이썬] RGB거리 소스코드 N = int(input()) color = [] for i in range (N): color.append(list(map(int,input().split()))) for i in range (1,N): color[i][0] += min(color[i-1][1],color[i-1][2]) color[i][1] += min(color[i-1][0],color[i-1][2]) color[i][2] += min(color[i-1][1],color[i-1][0]) print(min(color[-1])) 알고리즘 color = [[30, 19, 5],[64, 77, 64],[15, 19, 97],[4,71,57],[90,86,84],[93,32,91]] [[30, 19, 5], [69, 82, 83],..
[백준/14501/파이썬] 퇴사 소스코드 N = int(input()) work = [] for i in range (N): work.append(list(map(int, input().split()))) dp = [0] * (N+1) for i in range(N): for j in range(i+work[i][0],N+1): if dp[j] 1일차에 3일을 일할 수 있으면 4일부터 일을 하는 것 if dp[j] < dp[i] + work[i..
[백준/11401/파이썬] 소스코드 def power(a, b): if b == 0: return 1 if b % 2: return (power(a, b//2) ** 2 * a) % p else: return (power(a, b//2) ** 2) % p p = 1000000007 N, K = map(int, input().split()) fact = [1 for _ in range(N+1)] for i in range(2, N+1): fact[i] = fact[i-1] * i % p A = fact[N] B = (fact[N-K] * fact[K]) % p print((A % p) * (power(B, p-2) % p) % p ) 알고리즘 페르마의 소정리를 이용하여 푸는 문제였다. 페르마의 소정리는 다른 블로그에 잘 적혀있으니 ..
[백준/2579/파이썬] 계단오르기 소스코드 N = int(input()) s = [] for i in range (N): s.append(int(input())) dp = [0]* (N) dp[0] = s[0] dp[1] = s[0]+s[1] dp[2] = max(s[1]+s[2],s[0]+s[2]) for i in range(3,N): dp[i] = max(dp[i - 3] + s[i - 1] + s[i], dp[i - 2] + s[i]) print(dp[N-1]) 알고리즘 계단을 오르는 방법은 2가지가 있다. 1. 연속된 2계단 오르고 2칸 오르기 2. 한칸 밟고 1칸 밟기 이해를 돕기 위해 마지막 계단을 생각해보면 1. 마지막 계단(N)은 밟아야한다. 2-1. N-1을 밟으면 N-3에서 올라와야한다(연속된 3개는 못 오르므로) 2-..
[백준/20125/파이썬] 쿠키의 신체측정 소스코드 N = int(input()) cookie = [] for _ in range (N): cookie.append(input()) heart = [0,0] body = [0,0,-2,-1,-1] def head(i,j): if cookie[i][j] =='*' and cookie[i][j-1]=='_': heart[0] = i+1 heart[1] = j for i in range(N): for j in range(N): if not heart[0]: head(i,j) #왼팔 if i == heart[0] and cookie[i][j] =="*" and j he..
[백준/14888/파이썬] 연산자 끼워넣기 소스코드 from itertools import permutations N = int(input()) num = list(map(int,input().split())) operator = list(map(int,input().split())) operstr = ['+', '-', '*', '//'] max_ans = -999999999 min_ans = 999999999 # + - * / oplist = [] for i,op in enumerate(operator): for j in range(op): oplist.append(operstr[i]) many = list(permutations(oplist,len(oplist))) def cal(num1,num2, operate): if operate ==..
Navigator Navigator는 페이지 간의 연결을 하는 함수이다. 자료구조상 stack으로 되어 있으며 push와 pop연산을 통해 구현할 수 있다. FirstPage class FirstPage extends StatelessWidget { const FirstPage({Key? key}) : super(key: key); @override Widget build(BuildContext context2) { return Scaffold( appBar: AppBar( title: Text('firstpage'), ), body: Center( child: ElevatedButton( child: Text("다음 페이지로"), onPressed: (){ Navigator.push(context2, MaterialPa..