일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 파이썬
- 데이콘
- Baekjoon
- programmers
- 우분투
- Git
- gs25
- 금융문자분석경진대회
- ChatGPT
- Docker
- 백준
- 편스토랑 우승상품
- 프로그래머스
- leetcode
- Kaggle
- 캐치카페
- hackerrank
- 자연어처리
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- SW Expert Academy
- github
- 맥북
- 코로나19
- PYTHON
- AI 경진대회
- dacon
- 파이썬
- 편스토랑
- ubuntu
- Today
- Total
목록
반응형
Programming/코딩 1일 1문제 (1013)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 백준의 Missing Numbers 입니다. 17588번: Missing Numbers The first line of input contains a single integer n, where 1 ≤ n ≤ 100. Each of the next n lines contains one number that the child recited. Each recited number is an integer between 1 and 200 (inclusive). They are listed in increasing order, and there www.acmicpc.net 👨🏻💻 문제 풀이 set 을 활용하여 문제를 풀었습니다. 입력 받은 수에서 가장 큰 수를 찾고 이 수와 ra..
코딩 1일 1문제! 오늘의 문제는 백준의 Oddities 입니다. 10480번: Oddities Some numbers are just, well, odd. For example, the number 3 is odd, because it is not a multiple of two. Numbers that are a multiple of two are not odd, they are even. More precisely, if a number n can be expressed as n = 2 ∗ k for some integer k, then n www.acmicpc.net 👨🏻💻 코드 ( Solution ) def oddities(n): return f"{n} is even" if n % 2 == 0..
코딩 1일 1문제! 오늘의 문제는 백준의 부호 입니다. 1247번: 부호 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거 www.acmicpc.net 👨🏻💻 문제 풀이 입력 받은 수의 합이 0 이면 0 / 0 보다 작으면 - / 0 보다 크면 + 를 출력 하도록 하였습니다. 숫자를 100,000개 까지 입력받을 수 있으므로 시간초과를 피하기 위하여 input() 대신에 sys.stdin.readline() 을 사용하였습니다. sys.stdin.readline() 을 사용하면 뒤에 개행문자가 붙게되는데 이를 rstrip() ..
코딩 1일 1문제! 오늘의 문제는 백준의 받아올림 입니다. 4388번: 받아올림 어린이에게 여러자리 숫자의 덧셈을 가르칠 때는 오른쪽 자리부터 왼쪽으로 하나씩 계산하는 방법을 가르쳐준다. 이때, 받아올림이 발생하게 되며 아이들은 여기서 혼란에 빠진다. 받아올림이 www.acmicpc.net 👨🏻💻 문제 풀이 👨🏻💻 코드 ( Solution ) def carry(num1, num2): carry_count = 0 carry_num = 0 loop_num = min(len(num1), len(num2)) if len(num1) < len(num2): num1, num2 = num2, num1 num1, num2 = list(num1[::-1]), list(num2[::-1]) for idx in rang..
코딩 1일 1문제! 오늘의 문제는 백준의 Pyramids 입니다. 5341번: Pyramids The input will be a sequence of integers, one per line. The end of input will be signaled by the integer 0, and does not represent the base of a pyramid. All integers, other than the last (zero), are positive. www.acmicpc.net 👨🏻💻 문제 풀이 1 부터 n 까지의 합은 n x (n+1) / 2 의 값과 같다 는 공식을 활용하였습니다. 👨🏻💻 코드 ( Solution ) def Pyramids(number): return number ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 배열의 유사도 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 set 을 활용하여 문제를 풀었습니다. set(s1) - set(s2) 를 활용하여 s1 과 s2 에 있는 원소의 교집합의 길이를 구하였습니다. 👨🏻💻 코드 ( Solution ) def solution(s1, s2): answer = len(set(s1) & set(s2)) return answer GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07 1일 1..
코딩 1일 1문제! 오늘의 문제는 백준의 LCM 입니다. 5347번: LCM 첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다. www.acmicpc.net 👨🏻💻 문제 풀이 a 와 b 를 곱한 값을 a 와 b 의 최대공약수로 나누면 최소공배수입니다. 최대공약수를 구하는데에는 math 의 gcd 를 활용했습니다. 👨🏻💻 코드 ( Solution ) from math import gcd def LCM(a, b): return a * b // gcd(a, b) if __name__ == "__main__": for _ in range(int(input())): a, b = map(int..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 이진수 더하기 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 입력 받은 이진수를 int(num, 2) 를 통해서 10진수로 바꾸어주고 int(bin1, 2) 바꾼 수끼리 더한 다음 다시 bin 으로 이진수로 변환해 주었습니다. bin(int(bin1, 2) + int(bin2, 2)) bin을 통해 이진수로 바꾸어주면 앞에 0b 가 붙은 값으로 나오므로 [2:] 로 2번째 인덱스 부터의 값만 남겨서 우리가 알고있는 이진수 값만 남겨주었습니다. # bin(5) -> '0b101' ..
코딩 1일 1문제! 오늘의 문제는 백준의 카트라이더: 드리프트 입니다. 27522번: 카트라이더: 드리프트 레드팀은 2, 4, 5, 6등을 달성하여 총 $20$점을, 블루팀은 1, 3, 7, 8등을 달성하여 총 $19$점을 기록하였다. www.acmicpc.net 👨🏻💻 문제 풀이 입력 받은 값은 "기록(M:SS:SSS) 팀명" 으로 되어있습니다. 공백을 기준으로 split 하여 입력 받은 값을 앞의 값을 기록으로 뒤의 값을 팀명으로 나누었습니다. 기록을 datetime 객체로 바꾸는데에는 datetime 의 strptime 을 활용했습니다. from datetime import datetime def get_race_time_and_team_info(record): race_time, team_inf..
코딩 1일 1문제! 오늘의 문제는 백준의 문자와 문자열 입니다. 27866번: 문자와 문자열 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 $S$가 주어진다. 단어의 길이는 최대 $1\,000$이다. 둘째 줄에 정수 $i$가 주어진다. ($1 \le i \le \left|S\right|$) www.acmicpc.net 👨🏻💻 문제 풀이 입력받은 문자열 S의 i 번째 문자를 출력하는 문자입니다. 문자열의 인덱스는 0번부터 시작하므로 i 번째를 출력하기 위해 i-1 을 인덱스로 하여 꺼내온 문자를 출력하도록 하였습니다. 👨🏻💻 코드 ( Solution ) def char_and_string(S, i): return S[i-1] if __name__ == "__main__": S = input() i..
코딩 1일 1문제! 오늘의 문제는 백준의 I Speak TXTMSG 입니다. 6841번: I Speak TXTMSG The program will output text immediately after each line of input. If the input is one of the phrases in the translation table, the output will be the translation; if the input does not appear in the table, the output will be the original word. The transla www.acmicpc.net 👨🏻💻 문제 풀이 Short Form 을 Key 로 Translation 을 Value 로 하는 Dicti..
코딩 1일 1문제! 오늘의 문제는 백준의 빅데이터? 정보보호! 입니다. bigdata: answer = "security!" elif security < bigdata: answer = "bigdata?" 같으면 bigdata? security 를 security 값이 더 크면 security! 를 bigdata 값이 더 크면 bigdata? 를 정답으로 하도록 하였습니다. 👨🏻💻 코드 ( Solution ) def bigdata_or_sercurity(N, student_list): answer = "bigdata? security!" idx = 0 security, bigdata = 0, 0 for _ in range(N): if student_list[idx] == "s": security += ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 바탕화면 정리 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 모든 파일을 다 포함하면서 가장 작은 영역으로 드래그하려면 왼쪽 끝 위쪽 끝 부터 오른쪽 끝, 아래쪽 끝 크기만큼 드래그해야합니다. 따라서 #이 등장하는 모든 row, col idx 값을 모은 다음 row 와 col idx의 min / max 값을 구합니다. 여기서 max 값은 +1 을 해주어야 합니다. 👨🏻💻 코드 ( Solution ) def solution(wallpaper): row_idx_list, col_i..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 가위 바위 보 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 가위 (2) 바위 (0) 보 (5) 각각 이기는 경우를 dictionary 로 만들어두고 win_rsp = { "2": "0", "0": "5", "5": "2" } 가위 바위 보 내는 것 들을 key 로 하여 win_rsp 에서 나오는 value 값을 answer 리스트에 넣고 answer = [] for h in list(rsp): answer.append(win_rsp[h]) answer 리스트를 join 하면 끝..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 한 번만 등장한 문자 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 단어가 얼마나 등장했는지 정보를 담은 freq_dict 을 만들고 freq_dict = {} for word in list(s): if word not in freq_dict.keys(): freq_dict[word] = 0 freq_dict[word] += 1 그 freq_dict 에서 한번씩만 등장한 단어만을 리스트에 남기고 오름차순으로 정렬한 다음 one_words = sorted([word[0] for w..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 순서쌍의 개수 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 두 수의 쌍이 입력 받은 n 이 되는 순서쌍의 개수 == n의 모든 약수의 개수 이므로 입력 받은 n 의 약수를 구하고 그 약수의 개수를 정답으로 했습니다. 👨🏻💻 코드 ( Solution ) def find_a_factor(n): factor_list = [] for num in range(1, (n // 2) + 1): if n % num == 0: factor_list.append(num) factor_list...
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 숨어있는 숫자의 덧셈 (2) 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. 단어 속에서 숫자는 숫자 그대로 나머지는 빈 공백으로 바꾸어주고 이를 다시 문자열로 바꾸어 줍니다. my_string = "".join([word if word.isnumeric() else ' ' for word in list(my_string)]) 2. split() 으로 나누어 나온 값들을 map(int) 를 활용하여 int 로 바꾸어 주었습니다. number_list = list(map(int..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 다항식 더하기 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. 다항식을 유일한 연산자인 + 로 나누어 앞에서부터 항을 하나씩 꺼내옵니다. for variable in polynomial.split(" + "): 2. 꺼내온 항이 숫자로 구성되어있는지 숫자와 문자로 구분되어있는지 비교합니다. 2-1. 만약 숫자와 문자로 구성되어있는 항 일 경우 if not variable.isnumeric(): variable_name = variable[-1] variable_num = in..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 피자 나눠 먹기 (3) 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 n 명의 인원이 slice 개로 나눠진 피자를 최소 1조각 씩 먹기 위해서 필요한 피자의 개수는 slice 의 배수로 n 을 만들 수 있는 경우는 n // slice 개 slice 의 배수로 n 을 만들 수 없는 경우는 n // slice + 1 개 입니다. 👨🏻💻 코드 ( Solution ) def solution(slice, n): answer = n // slice if n % slice == 0 els..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 문자열 계산하기 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 코드 ( Solution ) def minus(num1, num2): return num1 - num2 def plus(num1, num2): return num1 + num2 def solution(my_string): calc_dict = { "+": plus, "-": minus } split_result = my_string.split() print(len(split_result)) for idx in range(0, l..
코딩 1일 1문제! 오늘의 문제는 백준의 HTML 입니다. 6581번: HTML 원래의 HTML 문서가 입력으로 주어진다. 이 텍스트는 단어와 HTML 태그들로 이루어져 있으며, 태그는 한 개 이상의 공백문자나 탭, 개행 문자 등으로 구분된다. 단어는 연속된 알파벳, 숫자, 또는 www.acmicpc.net 👨🏻💻 문제 풀이 1. HTML 텍스트 입력 받기 original_html_text = [] while True: try: html_line = input() original_html_text.append(html_line) except EOFError: break original_html_text = "\n".join(original_html_text) 먼저 while 반복문과 EOF Error ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 7의 개수 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 array list 에서 숫자를 하나씩 꺼내온 다음 꺼낸 숫자를 str 형식으로 바꾼 뒤 .count 로 구한 7의 개수를 answer 에 더하면 끝! 👨🏻💻 코드 ( Solution ) def solution(array): answer = 0 for num in array: answer += str(num).count("7") return answer GitHub - SOMJANG/CODINGTEST_PRACTICE:..
코딩 1일 1문제! 오늘의 문제는 백준의 짝수 홀수 개수 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 num_list 에서 숫자를 하나씩 꺼내온 다음 % 연산자를 활용하여 2로 나눴을때 나오는 나머지가 0 이면 -> 짝수 개수 + 1 2로 나눴을떄 나오는 나머지가 1 이면 -> 홀수 개수 + 1 한 뒤 마지막으로 리스트에 짝수, 홀수 순으로 담아 return 하였습니다. 👨🏻💻 코드 ( Solution ) def solution(num_list): answer = [] odd_num, even_num = 0, 0 for n..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 명예의 전당 (1) 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 점수 리스트에서 꺼내온 값을 리스트에 append 하고 answer = [] top_k_list = [] for score in score_list: top_k_list.append(score) 내림차순으로 정렬한 뒤 상위 k 개만 남긴 다음 top_k_list = sorted(top_k_list, reverse=True)[:k] 상위 k 개만 남긴 리스트에서 가장 작은 값을 정답 리스트에 계속 append 하면 ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 분수의 덧셈 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 분수의 덧셈은 아래의 과정을 통해 진행됩니다. 첫째, 두 분수를 통분한다. 둘째, 분자끼리 더한다. 셋째, 합을 기약분수 꼴로 적는다. 먼저, 두 분수를 통분하기 위해서는 두 분모의 최소 공배수를 구해야합니다. from math import gcd def get_lcm(A, B): return A * B // gcd(A, B) denom_lcm = get_lcm(A=denom1, B=denom2) 분모의 최소 공배수를 구..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 옹알이 (2) 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. 발음 단어의 맨 앞 단어를 key 로 발음 단어를 value 로 하는 dictionary 를 만들어 줍니다. pronunciation = [ "aya", "ye", "woo", "ma" ] word_dict = { word[0]: word for word in pronunciation } # word_dict = {"a": "aya", "y": "ye", "w": "woo", "m": "ma"} 2. 1번에서 만든..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 카드 뭉치 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. cards1 과 cards2 에서 왼쪽부터 하나씩 꺼내올때 사용하는 idx 를 각각 만들어 줍니다. card1_idx, card2_idx = 0, 0 2. goal list 왼쪽부터 단어를 하나씩 꺼내오고 이를 cards1과 cards2 에서 왼쪽부터 하나씩 꺼내온 값과 비교하고 같은 경우 idx 를 +1 합니다. 이때 만약 cards 리스트 길이보다 idx 값이 큰 경우 정답을 No 라고 합니다. for word i..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 컨트롤 제트 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. answer 라는 스택(리스트) 를 하나 만들고 answer = [] 2. 문자열 s를 공백을 기준으로 split 한 값을 하나씩 꺼내서 계속 int 로 변환하여 append 시키다가 3. "Z" 가 나오면 마지막에 append 시켰던 값을 pop 시켜주었습니다. for num in s.split(): if num == "Z": answer.pop() continue answer.append(int(num)) 4. ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 OX퀴즈 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. X, Y 를 더하는 함수 (plus) 빼는 함수 (minus) 작성 def plus(X, Y): return int(X) + int(Y) def minus(X, Y): return int(X) - int(Y) 2. X, Y 와 연산자를 입력 받으면 각 연산자에 해당하는 함수로 계산한 결과를 return 하는 함수 작성 def calculator(X, Y, operator): calc_dict = { "+": plus, ..
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 연속된 수의 합 입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨🏻💻 문제 풀이 1. 규칙 찾기 입출력 예시 num total result 3 12 [3, 4, 5] 5 15 [1, 2, 3, 4, 5] 4 14 [2, 3, 4, 5] 5 5 [-1, 0, 1, 2, 3] 입출력 예시를 보면 규칙이 보입니다. 맨 첫번째 num : 3 / total : 12 / result : [3, 4, 5] 를 보면 12를 이루는 3개의 숫자의 가장 가운데 (3을 2로 나누었을때 나오는 몫(1) 위치) 숫자는 ..