본문 바로가기

전체 글150

[잡담] 2022년 벌써 3월이다. 블로그 글을 안 쓴 지 백만 년이 되어가는데 2022년에는 이렇다 할 목표도 안정한 거 같아서 정해보려고 한다. 오랜만에 블로그에 들어와 보니 일상 글이 2021년 버킷리스트라는 사실에 반성하게 된다. 2021년 버킷리스트 글을 쓸 때를 돌이켜 보면 2022년 여름엔 마스크를 벗을 수 있지 않을까 했는데 2022년 3월이 된 지금 내 주변에서도 확진자를 무척 흔하게 볼 수 있을 정도로 코로나 확진자가 엄청 많다.(22년도 3월 2일 기준으로 21만 명이나 신규 확진되어있으니 당연한 소리일지도 모르지만) 뭐 그래도 이제 해외도 갈 사람은 가고 사망자도 초기와 비교하면 많이 줄어들었으니 종식까진 아니어도 상황이 많이 변한 건 맞는 거 같기도 하고? 어쨌든 지구는 도니까 나도 2022년 3월에서야 2022년의.. 2022. 3. 2.
[백준] 14503 - 로봇 청소기 (Python) (C++) 문제 출처: https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 풀이 : 전형적인 구현문제로 그냥 문제를 이해하고 구현하기만 하면된다. 이런 문제를 풀때 팁은 각각의 동작을 함수로 구현해서 각 동작들이 잘 작동하는지 확인하고 최종적으로 함수의 위치만 잘 사용하면 되는데 나는 귀찮아서 통으로 코딩하긴 하였다.. n,m = map(int,input().split()) robot = list(map(int,input().split())) maps.. 2021. 7. 19.
[백준] 14502 - 연구소 (Python) 문제 출처 : https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 : 삼성 기출문제의 전형적인 형태이다. 문제를 정리해보면 벽 3개를 세워야하니 벽 3개의 위치를 정해야하고 (경우의수) 3개를 정하고나면 바이러스를 전파 시켜야하고 (그래프 탐색 DFS/BFS) 전파 이후 안정 지대를 구해야하며 ( 단순 구현) 이후 최대값이 될 수 있도록 갱신 해주어야 한다(단순 구현) 위의 형태로 문제를 분해하고 나면 그다지 어렵지 않은 문제이다. 각각에 대해서 함.. 2021. 7. 19.
[프로그래머스] 순위 검색 (Level2) (Python) 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/72412 2021. 7. 11.
[백준] 14888 - 연산자 끼워넣기 (Python) 문제 출처: https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 풀이 : 앞서 본 스타크와 링크 문제와 흡사하다. 연산자가 나올 수 있는 모든 경우의 수를 우선 구한 뒤 구한 경우의 수에 대해서 모두 실행해서 최소 최대를 구한다. 보통 좀 더 어려워지면 모든 경우의 수를 구하는 것이 안되거나, 모든 경우의 수는 구할 수 있더라도 모두 실행할 순 없다거나 와 같은 경우가 대부분인 이 문제에.. 2021. 7. 11.
[백준] 14889 - 스타트와 링크 (Python) 문제 출처 : https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 풀이 : 2차원 배열로 matrix를 표현할 수 있고, 주어진 수에 대한 경우의수를 코딩할 수 있다면 풀 수 있는 문제이다. 본인의 경우 스타트팀과 링크 팀으로 나눌 수 있는 모든 경우의 수를 나누고(combination 함수) , 그 후 나눠진 각 경우에 대해 모두 점수를 계산하며 차이가 가장 적을때마다 갱신하는 방식으로 짯다. 이렇게 짜도 통과가 된다. from itertools import c.. 2021. 7. 11.
반응형