일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 경진대회
- 편스토랑
- 캐치카페
- 금융문자분석경진대회
- Git
- dacon
- ChatGPT
- Real or Not? NLP with Disaster Tweets
- 맥북
- 데이콘
- gs25
- hackerrank
- 더현대서울 맛집
- ubuntu
- programmers
- 프로그래머스
- Kaggle
- Baekjoon
- leetcode
- github
- SW Expert Academy
- PYTHON
- 코로나19
- 프로그래머스 파이썬
- 백준
- Docker
- 우분투
- 자연어처리
- 파이썬
- 편스토랑 우승상품
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
John works at a clothing store. He has a large pile of socks that he must pair by color for sale. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are. For example, there are n = 7 socks with colors ar = [1, 2, 1, 2, 1, 3, 2] . There is one pair of color 1 and one of color 2. There are three odd socks left, one of each c..
Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n). Example 1: Input: [3, 2, 1] Output: 1 Explanation: The third maximum is 1. Example 2: Input: [1, 2] Output: 2 Explanation: The third maximum does not exist, so the maximum (2) is returned instead. Example 3: Input: [2, 2, 3, 1] ..
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. Example: Input: 1->2->4, 1->3->4 Output: 1->1->2->3->4->4 Solution # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> List..
Given an input string, reverse the string word by word. Example 1: Input: "the sky is blue" Output: "blue is sky the" Example 2: Input: " hello world! " Output: "world! hello" Explanation: Your reversed string should not contain leading or trailing spaces. Example 3: Input: "a good example" Output: "example good a" Explanation: You need to reduce multiple spaces between two words to a single spa..
1일 1문제 25일차! 오늘의 문제는 백준의 접미사 배열입니다. 오늘은 이전에 풀었던 문제를 다시 풀어보았습니다. 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 이전 제출 코드 string = input() string = list(string) myStrings = [] while len(string) > 0: myStrings.append(str(string)) string.pop(0) myStrings = set(myStrings) new = [] for word in myStrings: word = word.replace('[', '') word = word.replace(',',..
1일 1문제 24일차! 오늘의 문제는 프로그래머스 스택 큐 프린터입니다. 코딩테스트 연습 - 프린터 | 프로그래머스 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 programmers.co.kr 첫번째 시도 def solution(priorities, location): answer = 0 pri_d..
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). You may assume nums1 and nums2 cannot be both empty. Example 1: nums1 = [1, 3] nums2 = [2] The median is 2.0 Example 2: nums1 = [1, 2] nums2 = [3, 4] The median is (2 + 3)/2 = 2.5 Solution class Solution: def findMedianSortedA..
1일 1문제 22일차! 오늘의 문제는 프로그래머스의 완전탐색 소수찾기입니다! 코딩테스트 연습 - 소수 찾기 | 프로그래머스 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 programmers.co.kr itertools의 permutation함수와 이전에 풀었던 에라토스테네스의 체 문제를 활용하여 ..
1일 1문제 21일차! 오늘의 문제는 프로그래머스 베스트 앨범 입니다. 코딩테스트 연습 - 베스트앨범 | 프로그래머스 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 play programmers.co.kr 첫번째 시도 dictionary를 활용해보기로 했습니다. def solution(genres, play..
1일 1문제 20일차! 오늘의 문제는 프로그래머스의 주식가격 입니다. 코딩테스트 연습 - 주식가격 | 프로그래머스 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 programmers.co.kr def solution(prices): answer = [] for i in range(len(prices..
1일 1문제 19일차! 오늘의 문제는 프로그래머스의 기능개발 입니다. 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr 첫번째 시도 이 문제를 풀기위해서 dictionary를 사용하기로 생각해보았습니다. def solution(..
1일 1문제 18일차! 오늘의 문제는 프로그래머스의 전화번호 목록입니다. 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r programmers.co.kr 첫번째 시도 먼저 그냥 이중 for문을 활용하여 코드를 짜 보았습니다. def solution(p..
1일 1문제 16일차! 오늘의 문제는 프로그래머스의 완전탐색 : 모의고사 입니다. 코딩테스트 연습 - 모의고사 | 프로그래머스 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, programmers.co.kr 첫번째 시도 def solution(answers): answer = [] tester_1 =..
1일 1문제 15일차! 오늘의 문제는 leetCode의 Add Two Numbers 입니다. idEANS 팀원들과 공부하기로한 알고리즘 공부를 위해 푼 문제로 팀 블로그에 포스팅 해 두었습니다. Leetcode#1_Add Two Numbers_02w03 by SOMJANG You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and retur.. ideans.tistory.com
1일 1문제 14일차! 14일차의 문제는 leetCode의 Reverse Integer입니다. idEANS 팀원들과 공부하기로한 알고리즘 공부를 위해 푼 문제로 팀 블로그에 포스팅 해 두었습니다. Leetcode#1_Reverse Integer_02w03 by SOMJANG Given a 32-bit signed integer, reverse digits of an integer. Example 1 Input: 123 Output: 321 Example 2 Input: -123 Output: -321 Example 3 Input: 120 Output: 21 Note: Assume we are dealing with an.. ideans.tistory.com
1일 1문제 13일차! 오늘의 문제는 프로그래머스 스택/큐에있는 탑 문제입니다. 코딩테스트 연습 - 탑 | 프로그래머스 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7 programmers.co.kr def solution(heights): answer = [] for i in range(len(he..
1일 1문제 12일차! 오늘의 문제는 쉬어가는 타임! 스택입니다. 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net mystack = [] command_list = [] num = input() for i in range(int(num)): command = input() command_list.append(command) for command in command_list: cmd = command.split() if cmd[0] == 'push': myst..
1일 1문제 11일차! 오늘 풀어볼 문제는 버블소트 입니다. 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 이 문제는 아래의 코드의 결과가 어떤 것이 출력되는지 답을 구하는 문제입니다. bool change = false; for (int i=1; i
1일 1문제 10일차! 오늘 문제는 K번째 수 입니다. 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 이 문제는 N개의 숫자를 입력받고 그 N개의 숫자를 정렬한 다음 원하는 K번째 수가 무엇인지 맞추는 문제입니다. 처음 떠오른 아이디어는 입력받은 N개의 숫자를 내림차순으로 정렬한 뒤 뒤에서부터 K번째 수에 index로 접근하는 방법을 떠올려보았습니다. 바로 구현해보았습니다. import sys N, K = map(int, input().split()) nums = [] for i in range(N): num = int(input()) nums.append(nu..
1일 1문제 9일차! 오늘의 문제는 카드입니다. 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다. www.acmicpc.net 이 문제는 -26^2와 26^2 사이의 N개의 카드의 숫자를 입력받으면 그 중 가장 많이 존재하는 카드의 숫자는 무엇인지 찾아내는 문제입니다. 저번 수 정렬하기 3에서 dictionary를 활용하여 풀었던 것을 활용해보려합니다. [BaeKJoon] 10989번: 수정렬하기 3 (Python)..
1일 1문제 8일차! 다행히도 작심 3일에 끝나지 않고 작심 8일까지 왔습니다. 오늘 풀어볼 문제는 수 정렬하기 3 입니다. 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 왜.. 수 정렬하기 2가 있는데 ? 문제가 ...? 또있지...? 라는 생각이 들어 수 정렬하기 2에 제출했던 코드를 제출해보았습니다. [BaeKJoon] 2751번: 수 정렬하기2 (Python) 1일 1문제 5일차! 오늘문제는 수 정렬하기 입니다. 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄..
1일 1문제! 7일차! 오늘의 문제는 백준에있는 국영수 문제입니다. 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 이름은 알파벳 대소문자로 이루어진 문자열이고, 길이는 10자리를 넘지 않는다. www.acmicpc.net 이 문제는 이름과 국어, 영어, 수학 점수를 입력받게 되면 국어 점수가 감소하는 순서로 국어 점수가 같으면 영어 점수가 증가하는 순서로 국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로 (단, 아스키 ..
1일 1문제 6일차! 오늘 문제는 나이순 정렬입니다! 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. www.acmicpc.net 이 문제는 나이와 이름을 같이 입력받으면 나이순 > 이름순으로 정렬하여 출력하여 보여주는 문제입니다. 문제를 읽는 순간 Dictionary 를 활용하여 풀어야겠다는 생각이 들었습니다. N = int(input()) data_dict = {} for i in range(N): [a, b] = map(str, input().split()) if int(a) not in data_dict.keys(): dat..
1일 1문제! 세번째 문제는 좌표 정렬하기 2입니다. 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 좌표 정렬하기 1에서 x와 y의 자리를 바꾸고 정렬 후 출력하였습니다. N = int(input()) nums = [] for i in range(N): [a, b] = map(int, input().split()) arr = [b, a] nums.append(arr) nums = sorted(nums) for i in range(N): print(num..
1일 1문제 5일차! 두번째로 풀어본 문제는 좌표 정렬하기 입니다. 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 좌표를 입력받으면 정렬을 하되 x좌표가 같으면 y좌표가 증가하는 순서대로 정렬 후 출력하는 문제입니다. 이 문제도 먼저 sorted로 풀어보았습니다. 입력받은 수를 list로 만들고 python의 sorted로 정렬 후 출력해보았습니다. N = int(input()) nums = [] for i in range(N): [a, b] = map(i..
1일 1문제 5일차! 오늘문제는 수 정렬하기 입니다. 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 이 수는 정렬되지 않은 중복되지 않는 수 N개를 입력받아 그 수를 오름차순으로 한줄에 하나씩 출력하는 문제입니다. Python의 sorted함수를 사용하서 정렬 후 출력해 보았습니다. N = int(input()) nums = [] for i in range(N): nums.append(int(input())) nums = sorted(nums) for i in range(N): print(num..
1일 최소 1문제 4일차! 오늘의 문제는 조합 속의 0의 개수를 구하는 문제입니다. 2004번: 조합 0의 개수 첫째 줄에 정수 n, m(0≤m≤n≤2,000,000,000, n!=0)이 들어온다. www.acmicpc.net 먼저 nCk일 경우 왼쪽과 같이 연산을 실시합니다. 여기서 n이 10 k가 7일 경우 10!을 3!과 7!로 나누어 계산합니다. 이를 인지하고 이전에 풀었던 팩토리얼 문제를 활용하여 풀어보려합니다. [BaeKJoon] 10872번: 팩토리얼 (Python) 1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만 원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데 시간이 너무 오래걸려 그 시간 사이에 문제를 풀어보.. somjan..
1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만 원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데 시간이 너무 오래걸려 그 시간 사이에 문제를 풀어보려합니다. 이번 문제는 팩토리얼 0의 개수! 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 좀 전에 풀었던 팩토리얼을 구하는 문제를 활용하여 풀어보고자 합니다. [BaeKJoon] 10872번: 팩토리얼 (Python) 1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만 원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데 시간이 ..
1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만 원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데 시간이 너무 오래걸려 그 시간 사이에 문제를 풀어보려합니다. 이번문제는 팩토리얼! 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 이건 0이상 12이하의 정수를 입력 받으면 그 값에 대해서 팩토리얼 값을 구하는 문제입니다. 반복문을 사용해서 구현해보았습니다. N = int(input()) if N == 0 or N == 1: print(1) else: fact = 1 for i in range(1, N + 1): fact = fact * i print(fa..
1일 최소 1문제 풀기 프로젝트 3일차! 오늘은 소인수 분해 문제를 풀어보려합니다. 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하는 문제입니다. 소인수분해 문제이니 2일차에 풀었던 에라토스테네스의 체 문제를 활용하여 소수를 구하고 그 소수를 활용하여 풀어보기로 했습니다. [BaeKJoon] 2960번: 에라토스테네스의 체 문제 풀이 (Python) 1일 최소 1문제 풀기! 2일차 오늘은 1일차의 백준 홈페이지에 있는 골드바흐의 추측 문제를 풀면서 계속 시간초과가 발생하여 살짝 힌트를 얻기위해 검색해보니! 에라토스테네스의 체 문제를 활용하여 풀면 해결.. somjang.ti..