전체 글(177)
-
2. 기능 설명
1. main.py 소스코드 전문 import json import menu_extraction import count_message2 import sending_time_message import sending_time_message2 import traffic_sending import trending_words_no_filtered import trending_words_no_filtered2 import trending_words import trending_words2 def main(): # JSON 파일에서 데이터 읽기 with open('config.json', "r", encoding="utf-8") as file: config_data = json.load(file) # 읽어온 데이터 ..
2023.11.28 -
1. menu_extraction.py - data.json 추출
1. menu_extraction.py 소스코드 전문 import json import json_extraction import json_extraction2 import json_extraction_kakaoPC1 import json_extraction_kakaoPC2 import json_extraction_kakaoMobile1 import json_extraction_kakaoMobile2 def main(): # JSON 파일에서 데이터 읽기 with open('config.json', "r", encoding="utf-8") as file: config_data = json.load(file) # 읽어온 데이터 사용하기 print(config_data['input_file']) print(c..
2023.11.28 -
0. config.json - 사용 전 요구설정
1. config.json 소스 파일을 보시면 config.json 파일이 있습니다. 내용은 아래와 같습니다. { "group_name": "톡방 이름 넣으세요~", "input_file": ".\\src\\result.json", "input_file_kakao": ".\\src\\result.txt", "output_file": ".\\src\\data.json", "font_path": "C:\\Users\\컴퓨터 이름 적으세요~\\AppData\\Local\\Microsoft\\Windows\\Fonts\\쓰고 싶은 폰트 넣으세요~.ttf", "result_folder": "result/" } 여섯 가지 요소가 있습니다. 이 중 group_name과 font_path만 바꿔주면 됩니다. 2. gr..
2023.11.28 -
2016년 - Python
1. 풀이 코드 def solution(a, b): answer = '' month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] days = b + 4 for i in range(a): days += month[i] answer = week[days % 7] return answer 2016년에 한정된 풀이입니다. 문제만 딱 풀려고 만든 코드라서 이쁘게 보이지 않네요. 2. 다른 사람 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드..
2023.11.21 -
카드 뭉치 - Python
1. 풀이 코드 def solution(cards1, cards2, goal): answer = '' i, j = 0, 0 for item in goal: if item == cards1[i]: if i != len(cards1) - 1: i += 1 elif item == cards2[j]: if j != len(cards2) - 1: j += 1 else: return "No" return "Yes" Queue로 풀까 했으나 위와 같이 풀었습니다. 2. 다른 사람 풀이 코드 def solution(cards1, cards2, goal): for g in goal: if len(cards1) > 0 and g == cards1[0]: cards1.pop(0) elif len(cards2) >0 and ..
2023.11.17 -
명예의 전당(1) - Python
1. 풀이 코드 def solution(k, score): answer = [] output = [] for _ in range(k): answer.append(-1) for item in score: if answer[0] k): q.remove(min(q)) answer..
2023.11.17 -
추억 점수 - Python
1. 풀이 코드 def solution(name, yearning, photo): answer = [] for check_list in photo: temp_sum = 0 for target, score in zip(name, yearning): if target in check_list: temp_sum += score answer.append(temp_sum) return answer print(solution(["may", "kein", "kain", "radi"], [5, 10, 1, 3], [["may", "kein", "kain", "radi"],["may", "kein", "brin", "deny"], ["kon", "kain", "may", "coni"]])) print(solution([..
2023.11.17 -
콜라 문제 - Python
1. 풀이 코드 def solution(a, b, n): answer = 0 while n >= a: temp = n // a * b answer += temp n = n % a + temp return answer # Test Cases print(solution(2, 1, 20)) print(solution(3, 1, 20)) 중간에 받는 병은 temp에 저장하여 차근차근 풀었습니다. 2. 다른 사람 풀이 코드 solution = lambda a, b, n: max(n - b, 0) // (a - b) * b 수학적 계산을 잘 하네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용..
2023.10.21 -
예상 대진표 - Python
1. 풀이 코드 def solution(n, a, b): a = f"{a - 1:020b}" b = f"{b - 1:020b}" answer = 20 for i, j in zip(a, b): if i == j: answer -= 1 else: break return answer # Test Cases print(solution(8, 4, 7) == 3) print(solution(8, 4, 8) == 3) 위와 같이 풀었습니다. 수학적 원리는 아래와 같습니다. 특징을 잡아내기 위해 -1 프로세싱을 했습니다. 이런 상태에서 2로 나누면 몫이 일정하게 나옴을 확인할 수 있습니다. 다시 똑같은 과정이 진행되기에 반복문으로 진행할 수 있습니다. 이럴 때에 2로 나눈 다는 것은 비트시프트를 하는 과정과 같으므로 ..
2023.10.18 -
점프와 순간 이동 - Python
1. 풀이 코드 def solution(n): ans = 0 while n != 0: if n % 2 == 0: n //= 2 else: n -= 1 ans += 1 return ans # Test Cases print(solution(5) == 2) print(solution(6) == 2) print(solution(5000) == 5) 위와 같이 풀었습니다. 2. 다른 사람 풀이 코드 def solution(n): return bin(n).count('1') 정말 멋있네요. 2를 곱하거나 나누는 행동은 비트시프트와 같다는 점을 기억해야겠습니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개..
2023.10.17