Loading...

[Python] BOJ 1283 - 단축키 지정(IZBORNIK)

https://www.acmicpc.net/problem/1283 1283번: 단축키 지정 첫째 줄에 옵션의 개수 N(1 ≤ N ≤ 30)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 옵션을 나타내는 문자열이 입력되는데 하나의 옵션은 5개 이하의 단어로 표현되며, 각 단어 역시 10개 이하 www.acmicpc.net 쉬워보여서 덤볐는데, 생각보다 구현과 문자열 처리가 힘들어서 애먹은 문제이다. 1. dic이라는 int형의 defaultdic을 만든다. 2. 입력받는 문자열을 공백 단위로 끊어서 s에 저장한다. 3. s에 저장된 문자열을 돌며 단축키를 지정한다. 3-1. 만약 tf가 True이면 앞의 단어에서 단축키가 설정되었으므로 단어를 tmp에 넣는다. 3-2. 만약 단어의 첫글자가 dic에 ..

[Python] BOJ 3190 - 뱀(zmija)

https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 요즘 구현, 시뮬레이션 문제들을 미는 중인데 삼성기출을 풀다 백준문제를 푸니 확실히 쉽게(?) 느껴진다. 시뮬레이션 문제는 말 그대로 주어진 조건을 따라 시뮬레이션을 돌리면 된다. 골드 이상부터는 엄청난 집중력과 끈기, 인내가 필요하다.. (빡구현, 하드코딩) 1. 사과위치를 입력받고 정사각보드m에 사과위치를 -1로 표시해준다. 2. 방향변환정보를 turn이라는 dictionary에 저장한다. 예제 1같..

[Python] 프로그래머스 - 소수 만들기

programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 이제 '소수'하면 바로 에라토스테네스의 체가 떠오른다. 1. nums의 각 원소가 1이상 1000이하이고 서로 다른 3개의 수를 고르는 것이므로 최대값이 2997이다. 널널하게 is_prime을 3000칸 만들어두고 에라토스테네스의 체를 사용하여 소수이면 그 index를 True로, 아니면 False로 만든다. 2. prime = is_primes(3000..

[Python] BOJ 2589 - 보물섬

www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 1. 보물 -> 육지 사이의 최장거리이므로 지도(m)을 입력받고 지도에 있는 모든 육지좌표를 land배열에 저장한다. 2. bfs함수: visited배열초기화, dist배열 0으로 초기화, (i, j) 시작지점에 대해 deque에 넣고 bfs를 돌린다. 만약 상하좌우 칸에 방문하지 않았고, 그 칸이 육지라면 거리를 1증가시킨다. 최종적으로 거리의 최댓값을 return (27번째 줄 코드는 2차원 배열에서 최댓값을 ..

[Python] BOJ 18110 - solved.ac

www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 쉬운 문제이지만, 파이썬의 허점(?)을 알 수 있는 문제였다.. 파이썬은 다른 언어와 다르게 반올림을 할 때 사사오입이 아닌 오사오입이다. www.omnibuscode.com/board/board_devcommon/43652 OMNIBUSCODE [개발상식] - 반올림하는 두 가지 방법 (Round-off(사사오입), Round-to-nearest-even(오사 오입)) 1. 근사값..

[Python] 프로그래머스 - 뉴스 클러스터링

programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 2018 KAKAO BLIND RECRUITMENT(카카오 공채 1차)에 나온 문제이다. 1. 대소문자 구별을 하지 않으므로 str1과 str2 모두 대문자로 변환한다. 2. str1을 돌며 두 글자씩 끊어서 다중집합의 원소로 만들고 A에 넣는다. 두 글자로 끊은 원소가 이미 A에 있다면 갯수를 1증가시키고 아니면 새로운 index를 만들어준다. (영문자..

[Python] 프로그래머스 - 정수 삼각형

programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 1. 먼저 triangle 배열과 같은 모양의 dp 2차원 배열을 만든다. 2. 마지막 줄부터 올라갈 것이므로 dp의 마지막줄은 triangle의 마지막 줄과 같게 만들어준다. 3. 마지막에서 두번째 줄부터해서 dp[i][j]에 (밑의 두 숫자 중 큰 값 + triangle[i][j]값)을 넣어준다. 4. 최종적으로 맨 윗줄에 최댓값이 저장되므로 dp[0][0]을 return해준다. def solution(triangle): length = len(t..

[Python] 프로그래머스 - 주식가격

programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 스택이 개념은 쉬운데, 마스터하기는 매우 어려운 자료구조인 것 같다. (나만 그런가..) 스택을 활용해 푸는 문제들이 유독 어렵게 느껴진다... 1. answer에 len(prices)-1부터 0까지 넣어준다. prices길이가 5이면 answer = [4, 3, 2, 1, 0] 2. prices가 [1, 2, 3, 2, 3]일 때, ..