알고리즘 연습/구현, 문자열 107

[🥈2 / 백준 5555 / 파이썬] 반지

5555번: 반지 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 www.acmicpc.net 문제 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 거꾸로 읽는 걱정은 없다. 찾고자하는 문자열이 주어졌을 때 그 문자열을 포함하는 반지가 몇 개인지를 발견하는 프로그램을 작성하라. 입력 입력은 총 2 + N 줄 이다. 첫 번째 줄에는 1 자 이상 10 자 이하의 대문자로 구성된 찾고자 하는 문자열이 적혀있다. 두 번째 줄에는 반지..

[Lv.1 / 프로그래머스 / 파이썬] 가장 많이 받은 선물 (2024 KAKAO WINTER INTERNSHIP)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 딕셔너리를 이용하여 주고받은 선물의 히스토리를 기록한다. 나중에 선물 지수를 계산할 때 필요하므로 자신이 선물을 몇 개 받았는지 기록하는 received 딕셔너리도 함께 기록해준다. 이후 친구 목록을 순회하며 두 사람의 선물 기록 및 선물 지수를 바탕으로 선물을 받을 개수를 계산하고 반환한다. def solution(friends, gifts): # 선물 기록을 저장할 딕셔너리 생성 history = dict() # 2depth, a = {b: 1}; a가 b에게 1개 줌 received = dict()..

[🥈5 / 백준 4108 / 파이썬] 지뢰찾기

4108번: 지뢰찾기 C개의 문자들이 포함된 R개의 줄을 출력한다. 단, 모든 '.' 대신 인접한 칸에 위치한 지뢰의 수로 변경해 출력한다. '*' 칸은 그대로 출력한다. 문자 사이에 공백이나 줄 사이에 공백 줄이 있어선 www.acmicpc.net 문제 07년 개봉한 영화 '지뢰찾기'는 지뢰의 수를 조사해야하는 요원 예슬의 이야기를 다룬 영화다. 정보기관의 요원이었던 예슬은 심심해서 컴퓨터로 지뢰찾기를 켰다가 인사팀에 걸려 지뢰제거팀으로 좌천된다. 좌천된 예슬에게 처음 부여된 임무는 지뢰 제거도 아닌 지뢰 수 조사! 예슬의 첫 임무에서 교육요원으로 배정된 다민은 "처음 건 무조건 안 터져." 라고 말하며 거침없이 땅을 팠지만 지뢰가 터져 얄짤없이 사망하고 만다. 지뢰 밭에 혼자 남겨진 예슬! 과연 임무..

[Lv.1 / 프로그래머스 / 파이썬] 붕대 감기 (PCCP 기출문제 1번)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 주어진 조건대로 시뮬레이션하여 결과를 return 하는 문제이다. 마지막 공격 시간을 배열에서 구해 for문으로 초 단위로 순회하며 시뮬레이션 하며 해결했다. attacks 배열을 딕셔너리 형태로 변형하여 시간 복잡도를 확보하도록 하자. def solution(bandage, health, attacks): t, x, y = bandage max_health = health end_time = attacks[-1][0] attacks = {attack[0]:attack[1] for attack in at..

[🥉2 / 백준 9243 / 파이썬] 파일 완전 삭제

9243번: 파일 완전 삭제 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 파일을 삭제하기 전에 파일이 있었던 곳의 비트가 주어지고, 셋째 줄에는 삭제한 후에 비트가 주어진다. 비트는 0과 1로만 이루어져 있고, 두 www.acmicpc.net 문제 어느 날, 상근이의 여자친구는 상근이에게 매우 긴급한 목소리로 전화했다. "상근아, 나 급하게 지워야 될 파일이 있어! 이 파일은 절대 복구되면 안돼." 파일을 완전 삭제하려면 하드드라이브에서 그 구간을 새로운 데이터로 반복해서 덮어써야 한다. 상근이는 여자친구를 위해 파일 완전 삭제 프로그램을 만들려고 한다. 파일 완전 삭제 프로그램은 매우 간단하다. 사용자는 삭제할 파일을 하나 고르고, 몇 번 덮어씌울지 n을 입력한다. n은 1부터 20까..

[🥈5 / 백준 25206 / 파이썬] 너의 평점은

25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치훈이의 전공평점을 계산해주는 프로그램을 작성해보자. 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. 인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다. A+ 4.5 A0 4.0 B+ 3.5 B0 3.0 C+ 2.5 C0 2.0 D+ 1.5..

[Lv.2 / 프로그래머스 / 파이썬] 덧칠하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 n만큼의 길이의 벽에 한 번에 m만큼의 길이로 페인트칠이 가능할 때, 빈 구역을 모두 칠할 수 있는 최소 횟수를 구해야 한다. 입출력 예와 같은 벽이 있는 것처럼 배열을 하나 구성하고, 덧칠하는 방식으로 해결했다. def solution(n, m, section): ans = 0 a = [True] * (n+1) for i in section: a[i] = False for i in range(1,n+1): if a[i] == False: a[i:i+m] = [True]*(m) ans+=1 return ..

[🥉2 / 백준 11098 / 파이썬] 첼시를 도와줘!

11098번: 첼시를 도와줘! 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카 www.acmicpc.net 문제 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카우터들을 지구 곳곳에 파견해 가능성 있는 루키를 찾는다. 현재 첼시는 프리미어 리그에서 헤매고 있고, 결국 새로운 선수를 사기로 결정했다. 하지만 그들은 스카우터를 기다리기 지쳤고, 훨씬 더 효율적인 전략을 개발해냈다. "만약 무언가 팔리고 있다면, 그것에는 합당한 이유가 있다..

[🥉1 / 백준 1236 / 파이썬] 성 지키기

1236번: 성 지키기 첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다 www.acmicpc.net 문제 영식이는 직사각형 모양의 성을 가지고 있다. 성의 1층은 몇 명의 경비원에 의해서 보호되고 있다. 영식이는 모든 행과 모든 열에 한 명 이상의 경비원이 있으면 좋겠다고 생각했다. 성의 크기와 경비원이 어디있는지 주어졌을 때, 몇 명의 경비원을 최소로 추가해야 영식이를 만족시키는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성..

[🥉2 / 백준 1408 / 파이썬] 24

1408번: 24 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는 www.acmicpc.net 문제 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다. 2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의..

반응형