일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 스택
- til
- 큐
- boj 2309
- python 1259
- 항해99
- 백준 막대기
- leetcode
- 백준 2309
- leetcode 2405
- 백준 카드1
- 백준 팰린드롬수
- 코딩테스트 준비
- python 10250
- 일곱 난쟁이
- 프로그래머스
- Python 20001
- 개발자 취업
- 99항해
- 백준
- python 2309
- BOJ
- 구현
- BFS
- python 14503
- 99클럽
- python 10989
- softeer
- 파이썬
- Today
- Total
목록전체 글 (66)
동까의 코딩
TIL(Today I Learned)으로 최대한 꾸준히 써보려고 합니다.2024.05.20 시작으로 6월말까지 진행합니다. 반은 3단계 중 중간 단계로 들어갔고, 비기너/미들러/챌린저로 나눠지고 나는 미들러로 참여하였습니다. 오늘 풀어본 문제는 프로그래머스에 전화번호 목록입니다. https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 전화번호가 시작부분이 겹치지 않는 것을 목표로 진행하였습니다.해쉬 문제이므로 최대한 해쉬로 풀어보려고 노력하였습니다. 풀이..
브론즈 1 문제이지만 메모리 초과가 많이 나오는 문제라서 작성하여본다. https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net append / sort를 사용하면 메모리를 다시 재설정해줘서 추가하기 때문에 메모리 초과가 난다. 메모리를 미리 할당 시켜주고, 해당 인덱스에 1씩 더해줘서 처음부터 추가된 숫자 인덱스만큼만 출력해주면 답이 나온다. import sys n = int(sys.stdin.readline()) num_list = [0] * 10001 for _ in..
코딩테스트 준비를 위해 문제를 풀게 되면서 많이 접하게 되는 두 입력이다. input() input()이 호출되면 인자로 주어진 문자를 화면에 출력하고 사용자의 입력을 기다린다. 사용자가 키를 누르면 그에 대응하는 데이터를 하나씩 버퍼에 들어간다. 개행 문자는 입력의 종료로 간주한다. 무엇을 입력해도 문자열로 변환하고 줄 바꿈을 제거한 뒤에 값을 반환한다. sys.stdin.readline() input()과 다르게 문자를 출력하는 기능이 없다. 한 번에 읽을 수 있는 글자 수에 대한 매개변수를 제공한다. 한 번에 일겅와서 버퍼에 저장, 하나씩 누를 때마다 데이터를 버퍼에 저장하여 input()보다 빠르고, 입력이 커지면 더 속도 차이가 난다. * input() 보다는 readline을 통해서 문제를 풀..
https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 완전 어렵게 생각해서 풀이가 길어져 런타임 에러가 나왔다. 숫자들을 2로 나눠주어 나머지가 1이면 가운데 숫자를 빼주고, 스택에 쌓아 동일한 값이 나오면 빼주는 방식으로 진행했었는데, 런타임 에러가 뜨고 찾아보니 간단한 구현이였다..... 배열을 거꾸로 뒤집어서 원래 배열과 같은지만 확인해주면 끝나는 문제였다.. while True: n = input() if n == '0': break if n == n[::-..
https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 간단한 문제라고 생각하고 풀었다가 2번 틀렸습니다를 받고 다시 풀게 되었습니다. 일단 H, W, N을 받고, 방을 배정받는 공식에 대해 생각해보았습니다. 방은 101호부터 102호 넘어가는 것이 아닌 101호 - 201호 순으로 위로 올라갑니다. 그러므로 층수의 나머지를 앞에 층 호수로 정해주고, 나눈 몫에 1을 더해 그 층에 맞는 호실을 배정받는 풀이를 하였습니다. 하지만 여기서 문..
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net for _ in range(int(input())): ox_input = input() cnt = 1 answer = 0 for st in ox_input: if st == 'O': answer += cnt cnt += 1 else: cnt = 1 print(answer)
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루드 포스 기본문제인 일곱 난쟁이를 풀어보았다. 이 문제를 풀어보면서 브루드포스에 대한 내용도 인지하였고, dfs를 사용하여 풀이했다. short_men = [int(input()) for _ in range(9)] search_short_men = [] def dfs(depth, start): if depth == 7: if sum(search_short_men) == 100: for j in sort..
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루드 포스 기본문제인 일곱 난쟁이를 풀어보았다. 이 문제를 풀어보면서 브루드포스에 대한 내용도 인지하였고, dfs를 사용하여 풀이했다. short_men = [int(input()) for _ in range(9)] search_short_men = [] def dfs(depth, start): if depth == 7: if sum(search_short_men) == 100: for j in sort..