일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 파이썬
- AI 경진대회
- 우분투
- 맥북
- Baekjoon
- 백준
- SW Expert Academy
- 캐치카페
- Kaggle
- 금융문자분석경진대회
- hackerrank
- 프로그래머스
- ubuntu
- PYTHON
- 편스토랑 우승상품
- 데이콘
- Docker
- gs25
- 파이썬
- dacon
- github
- 더현대서울 맛집
- Git
- 자연어처리
- 편스토랑
- leetcode
- programmers
- 코로나19
- ChatGPT
- Real or Not? NLP with Disaster Tweets
- Today
- Total
목록
반응형
Baekjoon (592)
솜씨좋은장씨
코딩 1일 1문제! 오늘의 문제는 백준의 네 번째 점 입니다. 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net Solution x_points, y_points = [], [] return_x, return_y = None, None for _ in range(3): x_point, y_point = input().split() x_points.append(x_point) y_points.append(y_point) for i in range(3): if x_points.count(x_points[i]) == 1: return_x = x_points[i] if y_points.count(y..
코딩 1일 1문2제! 오늘의 문제는 백준의 팰린드롬수입니다. 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net Solution while True: input_num = input() if input_num == "0": break answer = "no" if input_num == input_num[::-1]: answer = "yes" print(answer) Solution 풀이 0이 입력될때까지 계속 입력받습니다. 먼저 출력할 answer에 no를 넣어둡니다. 입력받은수를 거꾸로 뒤집어도 입력받은 수와 동일해야 팰린드..
코딩 1일 1문제! 오늘의 문제는 백준의 숫자 카드 2 입니다. 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 첫번째 시도 from collections import Counter input_num = int(input()) numbers = list(map(int, input().split())) input_num2 = int(input()) numbers2 = list(map(int, input().split())) answer = [] cnt = Counter(numbe..
코딩 1일 1문제! 오늘의 문제는 백준의 OX퀴즈 입니다. 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net Solution for _ in range(int(input())): ox_string = list(input()) answer = 0 score = 0 for ox in ox_string: if ox == 'O': score += 1 answer += score elif ox == "X": score = 0 print(answer) SOMJANG/CODINGTEST_PRACTICE ..
코딩 1일 1문제! 오늘의 문제는 백준의 수 찾기 입니다. 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net Solution input_num = int(input()) numbers = list(map(int, input().split())) numbers.sort() input_num2 = int(input()) numbers2 = list(map(int, input().split())) for num in numbers2: left, right = 0, le..
코딩 1일 1문제! 오늘의 문제는 백준의 더하기 사이클입니다. 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net Solution input_num = temp = int(input()) cnt = 0 while True: num1 = temp // 10 num2 = temp % 10 sum_num = num1 + num2 temp = int(str(num2) + str(sum_num % 10)) cnt += 1 if input_num == temp: break print(cnt) Solution ..
코딩 1일 1문제! 오늘의 문제는 백준의 상수 입니다. 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net Solution num1, num2 = input().split(" ") sangsu1, sangsu2 = int(num1[::-1]), int(num2[::-1]) if sangsu1 > sangsu2: print(sangsu1) else: print(sangsu2) Solution 풀이 먼저 두 숫자를 input으로 입력받은 후에 split(" ")를 활용하여 입력받은 숫자를 공백으로 나누어 줍니다. 나눈 숫자를 각..
코딩 1일 1문제 오늘의 문제는 백준의 단어 정렬 입니다. 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net Solution word_count = int(input()) words = [] for i in range(word_count): word = input() if (len(word), word) not in words: words.append((len(word), word)) answer = sorted(words, key=lambda x: (x[0], x[1])) for ans in ans..
코딩 1일 1문제! 오늘의 문제는 백준의 소트인사이드 입니다. 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net Solution def sort_inside(num): sorted_num = sorted(list(num), reverse=True) return int("".join(sorted_num)) if __name__ == "__main__": input_num = input() result = sort_inside(input_num) print(result) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG..
코딩 1일 1문제! 오늘의 문제는 백준의 두 수의 합 입니다. 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net Solution import sys numbers_len = int(sys.stdin.readline()) numbers = sorted(list(map(int, sys.stdin.readline().split()))) sum_num = int(sys.stdin.readline()) left, right = 0, numbers_len -1 cou..
코딩 1일 1문제! 오늘의 문제는 백준의 빠른 A+B입니다. 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net Solution import sys n = int(sys.stdin.readline()) for i in range(n): num1, num2 = map(int, sys.stdin.readline().split()) print(num1+num2) Solution 풀이 이 문제는 입력하는 부분에 input 대신에 sys.stdin.readline()을 활용할 수 있는지 여부를 확인하는 문제 같았습니다. 백준에서 문제를 풀다..
코딩 1일 1문제! 오늘의 문제는 백준의 소수입니다. 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net Solution def get_primary_num_eratos(N): nums = [True] * (N) for i in range(2, len(nums) // 2 + 1): if nums[i] == True: for j in range(i+i, N, i): nums[j] = False return [i for i in range(2, N) if nums[i] == True] def solution(A, B): pri..
코딩 1일 1문제 오늘의 문제는 백준의 단어 공부 입니다. 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net Solution from collections import Counter inputStr = list(input().lower()) cnt = Counter(inputStr) cnt_items = cnt.items() cnt_nums = [num[1] for num in cnt_items] max_num = max(cnt_nums) if cnt_nums.count(max_num) != 1: print("?") else: most_comm..
코딩 1일 1문제! 오늘의 문제는 백준의 X보다 작은 수 입니다. 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net Solution inputNums = list(map(int, input().split())) numList = list(map(int, input().split())) answer = [num for num in numList if num < inputNums[1]] print(" ".join(list(map(str, answer)))) Solution 풀이 먼저 두 수를 입력 받..
코딩 1일 1문제 2번째 문제는! 백준의 문자열 반복입니다. 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net Solution inputNum = int(input()) for i in range(inputNum): repeatNum, inputStr = input().split() answer = "" for char in inputStr: answer += int(repeatNum) * char print(answer) Solution 풀이 먼저 몇 개의 케이스를 입력 받을 것인지 입력 받습니다. ..
코딩 1일 1문제! 오늘의 첫번째 문제는 백준의 아스키 코드 입니다. 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net Solution inputChar = input() print(ord(inputChar)) Solution 풀이 입력받은 문자를 ord를 활용하여 구해줍니다. SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
코딩 1일 1문제! 오늘의 문제는 백준의 좌표압축입니다. 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net Solution from collections import Counter numbers = int(input()) inputNums = [] inputNums = list(map(int, input().split())) cnt_items = sorted(Counter(inputNums).items(), key = lambda x: x[0]) rank_dict..
코딩 1일 1문제! 오늘의 문제는 백준의 숫자의 합입니다. 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net Solution inputNum = input() nums = input() numberList = sum(map(int, list(nums))) print(numberList) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제! 오늘의 문제는 백준의 나머지 입니다. 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net Solution numList = [] for i in range(10): inputNum = int(input()) numList.append(inputNum % 42) print(len(set(numList))) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제! 오늘의 문제는 백준의 영화감독 숌 입니다! 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net Solution input_num = int(input()) answer = 666 while(input_num): if '666' in str(answer): input_num -= 1 answer += 1 print(answer-1) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE..
1일 1문제 153일차! 153일차의 문제는 백준의 1, 2, 3 더하기 입니다. 9095번: 1, 2, 3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 www.acmicpc.net Solution loopN = int(input()) answers = [] for i in range(loopN): inputNum = int(input()) if inputNum == 1: answers.append(1) elif inputNum == 2: answers.append(2) elif input..
1일 1문제 152일차! 오늘의 문제는 백준의 알파벳 개수입니다. 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net Solution word_s = input() word_count_dic = {'a':0, 'b':0, 'c':0, 'd':0, 'e':0, 'f':0, 'g':0, 'h':0, 'i':0, 'j':0, 'k':0, 'l':0, 'm':0, 'n':0, 'o':0, 'p':0, 'q':0, 'r':0, 's':0, 't':0, 'u':0, 'v':0, 'w':0, 'x':0, 'y':0, 'z':0} index = ['a','b','c', 'd', 'e', 'f', 'g', 'h', 'i', ..
1일 1문제 151일차! 오늘의 문제는 알파벳 찾기 입니다. 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net Solution word_s = input() word_count_dic = {'a':0, 'b':0, 'c':0, 'd':0, 'e':0, 'f':0, 'g':0, 'h':0, 'i':0, 'j':0, 'k':0, 'l':0, 'm':0, 'n':0, 'o':0, 'p':0, 'q':0, 'r':0, 's':0, 't':0, 'u':0, 'v':0, 'w':0, 'x':0, 'y':0, '..
1일 1문제 150일차! 150일차의 문제는 백준의 2진수 8진수 입니다. 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net Solution print(oct(int(input(), 2))[2:]) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제 149일차! 149일차의 문제는 최소공배수 입니다. 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있� www.acmicpc.net Solution def gcd(a, b): mod = a%b while mod > 0: a = b b = mod mod = a%b return b def lcm(a, b): return a*b//gcd(a,b) loopNum = int(input()) for i in range(loopNum): inputNums = input() inputNums = inputNums.spli..
1일 1문제 148일차! 148일차의 문제는 최대공약수와 최소공배수 입니다. 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net Solution inputNums = input() inputNums = inputNums.split() a = int(inputNums[0]) b = int(inputNums[1]) def gcd(a, b): mod = a%b while mod > 0: a = b b = mod mod = a%b return b def lcm(a, b): return a*b//gcd(a,b) print(gcd(a, b)) print(lcm(a, b)) SOMJANG/C..
1일 1문제 147일차! 147일차의 문제는 백준의 나머지 입니다. 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net Solution a,b,c= map(int, input().split()) print((a+b)%c) print((a%c + b%c)%c) print((a*b)%c) print((a%c * b%c)%c) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제 146일차! 오늘은 쉬어가는 타임! 백준의 8진수 2진수 입니다. 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net Solution print(bin(int(input(), 8))[2:]) SOMJANG/CODINGTEST_PRACTICE 1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub. github.com
1일 1문제 144일차! 오늘의 문제는 Base Conversion입니다. 11576번: Base Conversion 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 www.acmicpc.net Solution A, B = map(int, input().split()) m = int(input()) num = list(map(int, input().split())) result = [] n = 0 for i in range(len(num)): n = n + (num.pop() * (A**i)) while n: result.append(n%B) n //= B whi..
1일 1문제 142일차! 142일차의 문제는 진법 변환 2입니다. 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 �� www.acmicpc.net Solution B_jinbub_dic = { 0:'0', 1:'1', 2:'2', 3:'3', 4:'4', 5:'5', 6:'6', 7:'7', 8:'8', 9:'9', 10:'A', 11:'B', 12:'C', 13:'D', 14:'E', 15:'F', 16:'G', 17:'H', 18:'I', 19:'J', 20:'K', 21:'L', 22:'M', 23:'N', 24:'O', 25..