Flask란 Flask는 python 언어 기반의 마이크로 웹 프레임워크이다 마이크로 웹 프레임워크 : 프레임워크를 간결하게 유지하고 확장할 수 있도록 만든 것 Flask의 특징 1. 간결하다 Flask를 사용하면 파일 하나로 구성된 짧은 코드만으로도 완벽하게 동작하는 웹 프로그램을 만들 수 있다. 2. 확장성 있는 설계가 가능 Flask에는 폼과 데이터베이스 처리기능이 없다. Django에는 프레임워크 자체에 폼과 데이터베이스 처리 기능이 포함되어있다. 그래서 장고는 무겁다. 3. 자유도가 높다 Flask는 자유도가 높은 프레임워크이므로 최소한의 규칙만 있다. 그렇기 때문에 개발의 자유도가 다른 프레임워크에 비해 높다. Flask에서 프로젝트는 하나의 웹 사이트라고 생각하면 된다. 프로젝트 안에는 보통..
코드 input_string = input() # 알파벳 개수를 저장할 딕셔너리 초기화 alphabet_count = {} # 문자열 순회 for char in input_string: # 소문자로 통일하여 처리 char = char.lower() # 딕셔너리에 알파벳 추가 또는 개수 증가 alphabet_count[char] = alphabet_count.get(char, 0) + 1 # 가장 많이 나타난 빈도 찾기 max_count = max(alphabet_count.values()) # 가장 많이 나타난 빈도를 가지는 알파벳들 찾기 most_frequent_alphabets = [char for char, count in alphabet_count.items() if count == max_cou..
코드 n = int(input()) num = list(map(int, input().split())) ans = 0 for i in num: count = 0 # 각 숫자마다 소수의 개수를 초기화해야 합니다. if i > 1: for j in range(2, i): if i % j == 0: count += 1 if count == 0: ans += 1 print(ans) 포인트는 `count` 변수는 첫번째 for문이 시작할 때마다 0으로 초기화 해주어야 리스트에 있는 숫자를 검사 해줄 때 마다 사용할 수 있다
걸림돌 어려운 알고리즘 문제는 아닌 것 같다 코드 import sys N = int(sys.stdin.readline()) a = [] # append를 쓰기 위해서 배열을 먼저 선언 해야함 for _ in range(N): a.append(int(sys.stdin.readline())) # a에 append를 써서 int형으로 바로 넣으면 시간이 단축됨 a.sort() # 배열 a를 정렬, 중복제거를 해줌 for i in a: # i에 배열a의 인덱스 0번 부터 대입하며 반복하는 for문 print(i) 위 코드는 제출한 코드 러닝타임이 길면 시간초과로 되어버리기 때문에 `import sys`를 해서 `sys.stdin.readline()`을 쓰는 것은 필수이다. 또한 N번 입력 받을 때 `a.appe..
- 서론 - 대학교 시험이 끝나고 친구들이랑 술 마시다가 오랜만에 마인크래프트 하자는 이야기가 나와서ㅋㅋㅋ 셋이 마인크래프트 하려고 기다리다가 친구1은 서버 열고 있고, 친구2는 여자친구랑 집 들어가고 있다고 해서 기다리다가 갑자기 파이썬 프로그램이 만들어보고 싶어서 그냥 재미로 만들어 본 프로그램임. - 프레임 - 코드 몇 줄로 빠르게 만들 수 있는 파이썬 기반 프로그램이 만들고 싶음 귀여운 푸바오 사진이 있으니 푸바오 관련 된 프로그램이어야함 (창 하나 + 버튼 + 버튼을 누르면 나오는 푸바오 사진) 이런 느낌의 프로그램을 만들고 싶음 - 코드 - # 프로그램 구현에 필요한 tkinter모듈과 PIL모듈에서 이미지 처리에 필요한 클래스를 불러옴 from tkinter import * from PIL ..
걸림돌 문자열을 대조해서 조건에 맞는 문자들을 한 문자로 치환하는 기능을 구현하는데 고민했다 → 처음에는 if문을 여러개 써서 조건 문자열이 입력받은 문자열 안에 있으면 치환하게끔 하려고 했으나 오류가 나서 patterns라는 리스트에 조건 문자열들을 모두 저장해두고 for문 for pattern in patterns: 을 이용하여 입력받은 문자열에 조건 문자열이 있으면 그 문자열은 모두 ‘a’ 로 치환하게끔 함. (어차피 글자수만 세기 때문에) 코드 input_string = input() if input_string in 'c=': input_string = input_string.replace('c=','c') if input_string in 'c-': input_string = input_str..
걸림돌 필요한 세트의 수를 찾는데 6과 9를 뒤집어서 사용할 수 있기 때문에 이를 고려하는 알고리즘을 짜는 것에 고민을 많이 함 → 인터넷을 찾아보니 card[0] * 10을 사용하여 각 숫자의 등장 횟수를 저장하는 인덱스를 미리 만들어두고 각 인덱스 번호 별로 각 숫자의 등장 횟수를 저장하여 사용함, 또 6과 9는 뒤집어서 함께 사용할 수 있기 때문에 6과 9의 등장 횟수가 같을 땐 card[6]에, 다를 땐 card[9]에 +1을 해줌 코드 N = list(map(int,input())) S = [] if len(N) != len(set(N)): if N.count(6) >= 2 or N.count(9) >= 2: result_69 = ((N.count(6) + N.count(9))/2) + ((N...
걸림돌 세 수의 합으로 나올 수 있는 모든 경우의 수를 계산 하는 알고리즘을 짜는데 고민을 했음 for i in range(5): for j in range(i+1, 5): for m in range(j+1, 5): digit = (card[i]+card[j]+card[m])%10 위 코드로 고민을 해결했음 for문을 총 세 개로 각각 i, j, m에 아래로 내려 갈 때 마다 i+1, j+1 부터 시작하는 for문으로 세 수의 합으로 나올 수 있는 모든 경우의 수를 고려할 수 있게 했음. 모든 경우의 수를 고려하고 가장 큰 경우의 수를 구하는 방법을 고민했음 max_digit = 0 for i in range(5): for j in range(i+1, 5): for m in range(j+1, 5): d..