전체 글 34

[백준][Python] 1043 거짓말

# 문제 링크https://www.acmicpc.net/problem/1043 # 문제지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 밖에 없다. 당연히, 어떤 사람이 어떤 파티에서는 진실을 듣고, 또다른 파티에서는 과장된 이야기를 들었을 때도 지민이는 거짓말쟁이로 알려지게 된..

SW마에스트로 17기 2차 코테 회고

안녕하세요이번엔 진짜 정말 찐으로 망하고 쓰는 소마 17기 2차 코테 회고입니다.소감부터 말해보자면 이번 기수는 들리는 말 만큼 어렵게 나오진 않았던 것 같습니다...근데 왜 말아먹었냐구요? 그거슨 본문에 첨언하겠습니다...1차 코테 회고와 마찬가지로 코테 방침 상 자세한 내용은 적어두지 않겠습니다. 1번 문제시뮬레이션이었습니다. 빡구현이었어요. 어렵지는 않았습니다. 무난한 시뮬 골드 문제였어요. 다만 제가 처음에 문제 조건을 잘못 이해해서(...) 코드 갈아 엎느라 1시간 동안 붙잡고 있었습니다. 이게 바로 망한 이유에요... 어 이거 아는 거다! 하고 신나서 코드부터 짜지 말고 문제를 꼼꼼히 열심히 잘!!! 읽어보는 습관을 기르도록 하겠습니다(침울) 2번 문제욕심쟁이 기법으로 접근했습니다. 근데 DP..

[백준][Python] 17070 파이프 옮기기 1

# 문제 링크https://www.acmicpc.net/problem/17070 # 문제 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다.오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다.파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다.파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 벽에는 새로운 벽지를 발랐기 때문에, 파이프가 벽을 긁으면 안 된다...

SW마에스트로 17기 1차 코테 회고

안녕하세요.본 글은 소마 첫 지원 코테를 시원하게 말아먹고 작성하는 두근두근 코테 회고 입니다 ^^.만약 이 글을 보시는 분들은 이렇게 못 푸는 사람도 있구나~ 하면서 자존감 충전 하고 가시면 됩니다 ^^.코테 방침 상 자세한 문제 내용은 적어두지 않았습니다. 우선 간략히 느낀점을 적어보자면, 전체적으로 시간복잡도가 빡빡한 문제는 없었습니다.개인적으로 알고리즘 문제들은 '주어진 조건을 이해하고 구현을 잘 할 수 있냐' 를 보는 것 같다고 느꼈습니다.추가로 프로그래머스 디버깅이 매우무척정말 어렵다는 걸 실감했습니다. (미리 문제를 충분히 풀어보지 않은 자의 최후)VS code는 런타임 중에 index out of, 비어있는 스택에서 pop 연산 실행 등의 오류가 일어나기 직전까지 프린트문이 출력되지만, 프..

[백준][Python] 12865 평범한 배낭

# 문제 링크https://www.acmicpc.net/problem/12865 # 문제이 문제는 아주 평범한 배낭에 관한 문제이다.한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다.준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은 무게 W와 가치 V를 가지는데, 해당 물건을 배낭에 넣어서 가면 준서가 V만큼 즐길 수 있다. 아직 행군을 해본 적이 없는 준서는 최대 K만큼의 무게만을 넣을 수 있는 배낭만 들고 다닐 수 있다. 준서가 최대한 즐거운 여행을 하기 위해 배낭에 넣을 수 있는 물건들의 가치의 최댓값을 알려주자. # 입력첫 줄에 물품의 수 N(1 ≤ ..

[엣코더] AtCoder Beginner Contest 445 후기

처음으로 엣코더 응시를 해 보았다.온라인 코테 응시가 처음이라 신기했다. 당연히 초보자 난이도로 응시했고, 증말 어려웠지만 문제 운이 좋아서 4/7솔에 성공했다. 어학연수 핑계로 6주 동안 백준 잔디밭에 숭숭 구멍이 뚫려서 3솔은 할 수 있을까 걱정이었는데, 생각보다 결과가 괜찮아서 만족스럽따. 응시한 코테는 abc 445 이다.https://atcoder.jp/contests/abc445 AtCoder Beginner Contest 445 - AtCoderAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 처음에 시작하고 U..

[백준][Python] 16219 정렬하기

# 문제 링크https://www.acmicpc.net/problem/16219 # 문제종영이는 입력 데이터를 만들기 귀찮았다. 사실 문제를 생각하는 것 자체도 귀찮았다. 그래서 IOI 2015의 "정렬하기" 문제 ( acmicpc.net/problem/10924 )를 변형해 입력 데이터를 재탕하기로 했다! 종영이의 문제를 해결하자. 종영이의 문제는 다음과 같다.에르맥과 아이잔은 길이 N의 수열 S를 가지고 게임을 하려고 한다. 수열 S에는 0부터 N-1까지의 정수가 한 번씩만 등장한다. 이 게임은 수열을 오름차순으로 정렬하는 게임으로, 아이잔은 수열을 정렬하려고 하고, 에르맥은 정렬되지 않게 하려고 하며, 불가피할 경우 최대한 오랫동안 정렬되지 않게 하는 것이 목표이다. 한 게임에서, 각 라운드마다 에..

[백준][Python] 15666 N과 M (12)

# 문제 링크https://www.acmicpc.net/problem/15666 # 문제N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.N개의 자연수 중에서 M개를 고른 수열같은 수를 여러 번 골라도 된다.고른 수열은 비내림차순이어야 한다.길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. # 입력첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. # 출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구..

[백준][Python] 1213 팰린드롬 만들기

# 문제 링크https://www.acmicpc.net/problem/1213 # 문제임한수와 임문빈은 서로 사랑하는 사이이다.임한수는 세상에서 팰린드롬인 문자열을 너무 좋아하기 때문에, 둘의 백일을 기념해서 임문빈은 팰린드롬을 선물해주려고 한다.임문빈은 임한수의 영어 이름으로 팰린드롬을 만들려고 하는데, 임한수의 영어 이름의 알파벳 순서를 적절히 바꿔서 팰린드롬을 만들려고 한다.임문빈을 도와 임한수의 영어 이름을 팰린드롬으로 바꾸는 프로그램을 작성하시오. # 입력첫째 줄에 임한수의 영어 이름이 있다. 알파벳 대문자로만 된 최대 50글자이다. # 출력첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력..

[백준][Python] 18404 현명한 나이트

# 문제 링크https://www.acmicpc.net/problem/18404 # 문제NxN 크기 체스판의 특정한 위치에 하나의 나이트가 존재한다. 이때 M개의 상대편 말들의 위치 값이 주어졌을 때, 각 상대편 말을 잡기 위한 나이트의 최소 이동 수를 계산하는 프로그램을 작성하시오.나이트는 일반적인 체스(Chess)에서와 동일하게 이동할 수 있다. 현재 나이트의 위치를 (X,Y)라고 할 때, 나이트는 다음의 8가지의 위치 중에서 하나의 위치로 이동한다.(X-2,Y-1), (X-2,Y+1), (X-1,Y-2), (X-1,Y+2), (X+1,Y-2), (X+1,Y+2), (X+2,Y-1), (X+2,Y+1)N=5일 때, 나이트가 (3,3)의 위치에 존재한다면 이동 가능한 위치는 다음과 같다. 나이트가 존재..