일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- dacon
- programmers
- AI 경진대회
- 우분투
- ChatGPT
- leetcode
- ubuntu
- 백준
- hackerrank
- Kaggle
- 자연어처리
- Git
- PYTHON
- github
- gs25
- Real or Not? NLP with Disaster Tweets
- 금융문자분석경진대회
- 더현대서울 맛집
- 프로그래머스
- 프로그래머스 파이썬
- 데이콘
- 맥북
- Docker
- 파이썬
- 코로나19
- 캐치카페
- Baekjoon
- 편스토랑 우승상품
- SW Expert Academy
- 편스토랑
- Today
- Total
목록
반응형
Programming/코딩 1일 1문제 (1013)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 백준의 집합입니다. 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 👨🏻💻 문제 풀이 문제를 보면 입력을 약 3백만번 정도 하도록 되어있습니다. import sys input = sys.stdin.readline 그래서 위와 같이 input() 대신 sys.stdin의 readline()을 대신 사용합니다. input_command = input().split() command, data = None, None if len(input_command) == 2: command, data = input_comman..
코딩 1일 1문제! 오늘의 문제는 leetCode의 1844번 Replace All Digits with Characters 입니다. Replace All Digits with Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 문제 풀이 enumerate, isdigit, ord와 chr을 활용하여 문제를 풀었습니다. 입력받은 문자열에서 하나씩 꺼내오면서 숫자일 경우에 이전 단어를 꺼내서 ord로 숫자로 바꾸어준 다음 숫자를 더하고 ..
코딩 1일 1문제! 오늘의 문제는 leetCode의 1748번 문제인 Sum of Unique Elements 입니다. Sum of Unique Elements - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 문제 풀이 collections의 Counter를 활용하여 리스트 내의 각 숫자 들이 각각 몇 번 씩 나오는지 확인 한 뒤 .items를 활용하여 ( 숫자, 등장 횟수 ) 로 바꾼 뒤 각 값들 중에 등장 횟수가 1인 것들의 숫자만 남겨준 뒤 un..
코딩 1일 1문제! 오늘의 문제는 leetCode의 1880번 Check if Word Equals Summation of Two Words 입니다. Check if Word Equals Summation of Two Words - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 문제 풀이 단어 3개가 주어지고 앞의 두개의 단어를 숫자로 변환한 다음 더한 값이 마지막 세번째 단어를 숫자로 변환한 값과 같은지 다른지를 확인하는 문제입니다. 단어를 숫자로 변..
코딩 1일 1문제! 오늘의 문제는 leetCode의 1859번 문제인 Sorting the Sentence 입니다. Sorting the Sentence - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 문제 풀이 공백을 기준으로 여러개 이어붙어있는 단어가 주어지면 각 단어 마지막에 붙어있는 숫자를 보고 다시 단어들을 재 정렬한 다음 이를 다시 문장으로 만들어주는 문제입니다. Input: s = "is2 sentence4 This1 a3" Output:..
코딩 1일 1문제! 오늘의 문제는 leetCode의 2119번 A Number After a Double Reversal 입니다. A Number After a Double Reversal - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def isSameAfterReversals(self, num: int) -> bool: answer = False reverse_num_01 = int(str..
코딩 1일 1문제! 설날인 오늘! 오늘의 문제는 leetCode의 2057번 Smallest Index With Equal Value 입니다. Smallest Index With Equal Value - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 문제 풀이 숫자가 담겨져있는 nums 리스트를 입력으로 받으면 nums의 숫자들 중에 ( 인덱스 % 10 == nums 의 해당 인덱스 번째 숫자 ) 를 만족하는 수 들 중 가장 먼저 나오는 숫자의 인덱스를..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Check If String Is a Prefix of Array 입니다. Check If String Is a Prefix of Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def isPrefixString(self, s: str, words: List[str]) -> bool: answer = False check_string..
코딩 1일 1문제! 오늘의 문제는 백준의 제곱근 입니다. 13706번: 제곱근 첫째 줄에 양의 정수 N이 주어진다. 정수 N의 제곱근은 항상 정수이며, N의 길이는 800자리를 넘지 않는다. www.acmicpc.net 👨🏻💻 문제 풀이 math의 sqrt로 문제를 풀게되면 런타임 에러 (OverflowError) 가 발생합니다. from math import isqrt 이때 python3.8 버전부터 새로 생긴 isqrt를 대신 사용하면 해결됩니다. 👨🏻💻 코드 ( Solution ) from math import isqrt def jegopgun(N): return isqrt(N) if __name__ == "__main__": N = int(input()) print(jegopgun(N)) Gi..
코딩 1일 1문제! 오늘의 문제는 백준의 초콜릿 자르기 입니다. 2163번: 초콜릿 자르기 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿 www.acmicpc.net 👨🏻💻 문제 풀이 Ncm X Mcm 크기의 초콜릿을 몇 번 잘라야 자른 초콜릿의 크기가 각각 1cm X 1cm 크기가 되는지 구하는 문제입니다. 먼저 Ncm를 N-1 번 잘라서 N 개의 1cm X Mcm 초콜릿으로 만든 다음 각각의 1cm X Mcm 초콜릿을 M-1 번씩 잘라서 1cm X 1cm 크기의 초콜릿으로 만들어 줍니다. 초콜릿 자르는 횟수 공식 = ( N - 1 ) + N X ( M..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Reverse Prefix of Word 입니다. Reverse Prefix of Word - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def reversePrefix(self, word: str, ch: str) -> str: check_idx = word.find(ch) if check_idx != -1: word = word[:chec..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Sum of Digits of String After Convert 입니다. Sum of Digits of String After Convert - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def getLucky(self, s: str, k: int) -> int: alphabet_list = list(s) convert_str = [] f..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Find First Palindromic String in the Array 입니다. Find First Palindromic String in the Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def firstPalindrome(self, words: List[str]) -> str: answer = "" palindrome_..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Sequential Digits 입니다. Sequential Digits - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def sequentialDigits(self, low: int, high: int) -> List[int]: answer = [] num_string = "123456789" min_len, max_len = len(str..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Capitalize the Title 입니다. Capitalize the Title - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def capitalizeTitle(self, title: str) -> str: answer = [] lower_title = title.lower() lower_title_list = lower_title.sp..
코딩 1일 1문제! 오늘의 문제는 leetCode의 Maximum Number of Words Found in Sentences 입니다. Maximum Number of Words Found in Sentences - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 👨🏻💻 코드 ( Solution ) class Solution: def mostWordsFound(self, sentences: List[str]) -> int: length_list = [len(s..
코딩 1일 1문제! 오늘의 문제는 백준의 트ㅏㅊ; 입니다. 4378번: 트ㅏㅊ; 입력은 여러 줄로 이루어진다. 각 줄은 숫자나 공백, 알파벳 대문자, 위의 키보드에 표시되어 있는 문장 부호로 이루어져 있다. Q, A, Z나 `(back-quote), 단어로 이루어진 키(Tab, BackSp, Control 등)는 www.acmicpc.net 👨🏻💻 코드 ( Solution ) def te_ach(error_str): correct_str = "" keyboard_corr_dict = { "1": "`", "2": "1", "3": "2", "4": "3", "5": "4", "6": "5", "7": "6", "8": "7", "9": "8", "0": "9", "-": "0", "=": "-", "w..
코딩 1일 1문제! 600일째! 오늘의 문제는 백준의 약수입니다. 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 👨🏻💻 문제 풀이 입력으로 해당 수의 모든 약수를 입력 받으므로 입력 받은 약수 중에서 가장 작은수와 가장 큰 수를 곱하면 정답을 구할 수 있습니다. 가장 작은 수와 가장 큰수에는 min과 max를 사용했습니다. 전체 코드는 아래를 참고해주세요. 👨🏻💻 코드 ( Solution ) def divisor_func(divisors): return max(divisors) * min(divi..
코딩 1일 1문제! 오늘의 문제는 백준의 세 수 입니다. 2985번: 세 수 첫째 줄에 정인이가 원래 적어준 등식을 출력한다. 입력으로 주어진 숫자의 순서는 유지해야 하고, 등호 하나와 더하기, 빼기, 곱하기, 나누기 기호 중 하나로 이루어져 있어야 한다. 만약 등식 www.acmicpc.net 👨🏻💻 코드 ( Solution ) def three_numbers(numbers): answer = "" if numbers[0] + numbers[1] == numbers[2]: answer = f"{numbers[0]}+{numbers[1]}={numbers[2]}" elif numbers[0] - numbers[1] == numbers[2]: answer = f"{numbers[0]}-{numbers[1..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 2022년 카카오 블라인드 채용 코딩테스트 문제였던 주차 요금 계산 입니다. 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 👨🏻💻 문제 풀이 어느 주차장의 입차, 출차 정보와 주차장의 요금표 정보를 입력 받으면 주차장을 이용한 차량들의 주차요금을 계산하는 문제입니다. 입차 출차 시간..
코딩 1일 1문제! 오늘의 문제는 2022 KAKAO BLIND RECRUITMENT 문제 중 1개인 신고 결과 받기! 입니다. 풀기는 풀었으나 신고 건수가 많아지면 효율이 떨어지는 코드여서 추후에 수정하고자 합니다. 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 👨🏻💻 문제 풀이 k번 이상 신고 받은 불량 이용자는 이용 정지가 되며 이용 정지가 되었을 때는 해당 불량 이용자를 신고한 모든 유저에게 불량 이용자 처리결과에 대한 이메일이 전송된다고 할 때 각 유저가 받은 이메일의 개수를 구하는 문제입..
코딩 1일 1문제! 오늘의 문제는 백준의 피시방 알바 입니다. 1453번: 피시방 알바 첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어하는 자리가 입력으로 주어진다. www.acmicpc.net 👨🏻💻 문제 풀이 피시방에 들어오는 손님들이 차례로 원하는 좌석 번호를 이야기하는데 이미 사용 중인 좌석 번호를 말 할 경우 거절하게 됩니다. 이미 사용 중인 좌석의 번호는 중복된 숫자이므로 중복된 숫자의 개수만 구하면 됩니다. N = input() customer = input() 손님의 수와 손님이 말한 좌석 번호를 입력 받습니다. customer = customer.split() 좌석 번호는 공백을 기준으로 나열되어있으므로 공백을..
코딩 1일 1문제! 오늘의 문제는 백준의 1998년생인 내가 태국에서는 2541년생?! 입니다. 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 👨🏻💻 문제 풀이 태국의 불기년도는 우리나라에서 쓰는 년도에서 543년을 더한 값을 활용합니다. 1998년생인 내가 태국에서는 2541년생?! 문제는 불기년도를 입력 받으면 우리나라의 년도를 출력하는 문제입니다. year = int(input()) 먼저 불기년도를 입력받은 후에 year - 543 543 을 ..
코딩 1일 1문제! 오늘의 문제는 백준의 달팽이는 올라가고 싶다 입니다. 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 👨🏻💻 코드 ( Solution ) def snail_wants_to_climb(A, B, V): snail_days = (V-B) / (A-B) if snail_days != int(snail_days): snail_days += 1 return int(snail_days) if __name__ == "__main__": A, B, V = map(int, input().split()) print(snail_wants_to_climb(A, B, ..
코딩 1일 1문제! 오늘의 문제는 백준의 3460번 이진수 입니다. 3460번: 이진수 양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다. www.acmicpc.net 👨🏻💻 문제 풀이 10진수를 입력받으면 이를 이진수로 바꾼 뒤에 이진수 속에 있는 1의 위치출력하는 문제입니다. 먼저 예제 입력과 예제 출력을 확인해보면 13을 입력했을때 0 2 3 이라는 값이 나오는 것을 볼 수 있습니다. 13 을 이진수로 바꾸어보면 1011이 됩니다. 오른쪽 부터 1이 나오는 위치를 파악하고 첫 시작점의 위치를 0이라고 하면 13을 바꾼 이진수 1 0 1 1 순서 3 2 1 0 0 2 ..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 입니다. 9085번: 더하기 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 첫 줄에 자연수의 개수 N(1 ≤ N ≤ 100)이 주어지고, 그 다음 줄에는 N개의 자연수가 주어진다. 각각의 자연 www.acmicpc.net 👨🏻💻 코드 ( Solution ) def plus_9085(numbers): numbers = list(map(int, numbers.split())) return sum(numbers) if __name__ == "__main__": for _ in range(int(input())): N = int(input()) numbers = input() print(plus_9085(numb..
코딩 1일 1문제! 오늘의 문제는 백준의 주사위 세개 입니다. 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 👨🏻💻 문제 풀이 1 ~ 6 사이의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 3개..
코딩 1일 1문제! 오늘의 문제는 백준의 시험 점수 입니다. 5596번: 시험 점수 대한고등학교에 재학 중인 민국이와 만세는 4과목(정보, 수학, 과학, 영어)에 대한 시험을 봤다. 민국이와 만세가 본 4과목의 점수를 입력하면, 민국이의 총점 S와 만세의 총점 T 중에서 큰 점수 www.acmicpc.net 👨🏻💻 문제 풀이 공백을 기준으로 나열된 민국이와 만세의 정보, 수학, 과학, 영어 점수를 입력받으면 민국이와 만세의 점수 각각의 총합 중 큰 점수를 출력하는 문제입니다. mingook = input() manse = input() 민국이와 만세의 점수는 input()으로 입력 받은 뒤에 mingook = list(map(int, mingook.split())) manse = list(map(int..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 3 입니다. 11023번: 더하기 3 첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다. www.acmicpc.net 👨🏻💻 코드 ( Solution ) def plus_3(numbers): numbers = list(map(int, numbers.split())) return sum(numbers) if __name__ == "__main__": numbers = input() print(plus_3(numbers)) GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 4 입니다. 11024번: 더하기 4 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 www.acmicpc.net 👨🏻💻 코드 ( Solution ) def plus_4(numbers): numbers = list(map(int, numbers.split())) return sum(numbers) if __name__ == "__main__": for _ in range(int(input())): numbers = input() print(plus_4(numbers)) GitHub - SOMJANG..