일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- 우분투
- dacon
- 자연어처리
- 편스토랑 우승상품
- Baekjoon
- 프로그래머스
- 더현대서울 맛집
- PYTHON
- 데이콘
- 코로나19
- leetcode
- ubuntu
- Kaggle
- 프로그래머스 파이썬
- 캐치카페
- 금융문자분석경진대회
- 편스토랑
- ChatGPT
- 백준
- hackerrank
- Git
- SW Expert Academy
- Real or Not? NLP with Disaster Tweets
- 파이썬
- AI 경진대회
- gs25
- 맥북
- Docker
- programmers
- Today
- Total
목록
반응형
Programming (1169)
솜씨좋은장씨
코딩 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 하면 끝..
java 코드를 작성하고 실행하려고 보니 새로 장만했던 M1 Max 맥북 프로에는 java 가 설치되어있지 않아서 이번 기회에 설치를 해보았습니다. 설치는 역시 brew 로 진행했습니다. 🍺 brew 설치 2022.10.22 - [유용한 정보/APPLE] - [macOS] M1 Mac 에 brew 설치하는 방법! [macOS] M1 Mac 에 brew 설치하는 방법! 최근! 아이패드 가격사태를 보고 맥북프로 2017 이후 5년만에 쿠팡에서 M1 Max 맥북프로 16인치를 구매하였습니다. 새로 구매를 하였으니 개발환경을 세팅하기 위하여 가장 먼저! brew 를 설치해주었 somjang.tistory.com brew가 기본적으로 설치되어있는 프로그램이 아니기 때문에 brew 를 사용하기 위해서는 먼저 설치 ..
🧑🏻💻 timeval 구조체 strcut timeval { __time_t tv_sec; // Second - 초 __suseconds_t tv_usec; // Microseconds - 마이크로초 } timeval 구조체는 tv_sec 과 tv_usec 로 구성되어있는데 tv_sec 는 1초 2초 3초 할때 그 초 (Seconds) 정보를 tv_usec 는 1 / 1,000,000 초인 마이크로초 (Microseconds) 정보를 저장합니다. timeval 구조체를 사용하기 위해서는 sys/time.h 헤더파일을 include 하면 됩니다. 🧑🏻💻 gettimeofday #include int gettimeofday(struct timeval *tv, struct timezone *tz); 1970..
👨🏻💻 발생 에러 Abraham Silberschatz Operating System Concepts-10th-2018 으로 운영체제 스터디를 하면서 각 챕터에 나오는 C 코드들을 실제로 작성해서 실행 시켜보던 중에 # figure322_2.c #include #include #include int main() { pid_t pid; /* fork a child process */ pid = fork(); if (pid < 0) { /* error occurred */ fprintf(stderr, "Fork Failed"); return 1; } else if (pid == 0) { /* child process */ execlp("/bin/ls","ls",NULL); printf("LINE J"); ..
코딩 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..
👨🏻💻 gcc 설치하기 2023.03.01 - [Programming/C | C++] - [GCC] macOS 에 gcc 컴파일러 설치하는 방법! [GCC] macOS 에 gcc 컴파일러 설치하는 방법! 👨🏻💻 설치 방법! macOS 에서 gcc 컴파일러를 설치하는 방법은 정말 간단합니다. $ xcode-select --install xcode-select: note: install requested for command line developer tools 터미널을 열고 xcode-select --install 명령 somjang.tistory.com 👨🏻💻 테스트에 사용할 c 언어로 작성한 파일 만들기 # hello_world.c #include int main(void) { printf("%s..
👨🏻💻 설치 방법! macOS 에서 gcc 컴파일러를 설치하는 방법은 정말 간단합니다. $ xcode-select --install xcode-select: note: install requested for command line developer tools 터미널을 열고 xcode-select --install 명령어를 입력한 뒤 실행하면 됩니다. 명령어를 실행하면 아래와 같은 창이 뜹니다. 도구를 지금 설치하겠습니까? 설치 버튼을 클릭하여 다음 작업으로 넘어갑니다. 동의 버튼을 클릭하면 자동으로 설치가 진행됩니다. 설치에는 약 10분 정도 소요되었습니다. 위와 같이 소프트웨어가 설치되었습니다. 창이 뜨면 설치가 완료된 겁니다. 👨🏻💻 정상 설치 확인 방법! 버전 확인 명령어인 gcc -v 또는 g..
코딩 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) 분모의 최소 공배수를 구..