본문 바로가기

반응형
SMALL

백준

5676 - 음주 코딩 안녕하세요. 꼬동입니다. https://www.acmicpc.net/problem/5676 5676번: 음주 코딩 각 테스트 케이스마다 곱셈 명령의 결과를 한 줄에 모두 출력하면 된다. 출력하는 i번째 문자는 i번째 곱셈 명령의 결과이다. 양수인 경우에는 +, 음수인 경우에는 -, 영인 경우에는 0을 출력한다. www.acmicpc.net 오늘의 문제 음주 코딩 뭐 똑같은 세그먼트 트리 문제입니다. 세그먼트 트리가 쉬우면서, 백준 점수 따는데 제일 좋은거 같아서, 계속 찾아서 풀게되군요. 언제 다익스트라로 넘어가지 ..? 어쨌든, 이 문제는 뭔가 Python으로 안 풀릴거 같아서, C로 풀어봤습니다. #include char o; int N, K, tmp, i, j; int tree[100000 * 4].. 더보기
18111 - 마인크래프트, python에서의 elif와 else 속도 차이 안녕하세요. 꼬동입니다. 최근 solved.ac를 통해서 문제를 하나씩 부수고 있는데요. 굉장히 좋은 문제를 한 번 들고 와봤습니다. https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 추가 시간이 없기에, C로 푸는게 유리하나, 맥북이라 C를 못 돌려서... 흑흑 문제를 처음 봤을 땐, 굉장히 쉽게 생각했습니다. 왜냐면, 256 * 500 * 500 해도 1억이 안넘으니, 충분히 1초 안에 들어올 수 있다고 생각을 했죠. 근데 이게 뭐람 어떤 .. 더보기
12865 - 평범한 배낭 머리 굴리는데, DP 만한 문제는 없죠 근데 못 품 ㅎ;; 답 봄 ㅎ;; 항상 DP는 푸는 법을 알고나면, 너무나 쉬운거 같아요. 목표 : 가방에 가치가 가장 높게 물건을 넣는 방법 찾기 접근 : 가방에 물건을 넣는 경우의 가치, 가방에 물건을 안 넣는 경우의 가치를 비교하자 접근 방법만 알면 간단합니다. 물건은 총 100 개, 무게는 100,000이며, 시간 복잡도는 10,000,000이며 시간 제한은 2초니 충분하겠네요. 배열을 만들어봅시다. index가 가방의 무게인 배열을요. 그 안에 들어가는 값은 가치입니다. 즉, 물건 순서대로 가방의 무게(index)마다, 최고의 가치를 넣어주면 됩니다. N, K = list(map(int, input().split())) DP = [0 for k in ran.. 더보기
7682 - 틱택토 (구현) https://www.acmicpc.net/problem/7682 7682번: 틱택토 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 www.acmicpc.net 일 하면서 단계적인 생각을 하는 경우가 많은데, 이럴 때마다 문제를 접근하는 방법이 중요하다고 느낌 몸은 여기 앉아 있는데, 정신은 다른 곳에 가 있으면 문제가 많은 코드를 만들 수 밖에 없는데, 요새 들어 논리적 생각을 할 때, 이런 경우가 몇 번 있어서 훈련을 해야겠더라. 그래서 선택한건 다시 백준 문제 하나씩 푸는 것 쉬운 문제라도 논리적인 생각을 자주 하는 것이 중요하기에 차근차근 다시 .. 더보기
백준 플레티넘 달성 !!! 안녕하세요. 꼬동입니다. 여러분도 아시다시피 최근 시간이 굉장히 많이 생겨서, 휴가도 갔다오고, 읽고 싶은 책들을 읽으면서 여유로운 삶을 살고 있습니다. 그렇다고 놀기만 하면, 개발자라고 볼 수 있겠나요 !? 그래서 한 줄이라도 더 짜고자, 알고리즘을 공부하던 찰나에 백준에 티어가 있더라고요 ? 문제 티어 / 사용자 티어를 알 수 있는 사이트인데, 연동을 처음 하니 제가 골드 1이더라고요. 이열~ 열심히 한 노고를 여기서 확인할 수 있었습니다. 허나 플레는 한 번 찍어봐야하지 않겠습니까? 롤에서도 플레 못 찍어봤는데, 여기서라도 찍겠다는 마음으로 문제를 닥치는대로 풀어봤습니다. 아마 아실 분들은 다 아실텐데... 일부러 쉬운 문제만 골라 풀었습니다 ㅋㅋㅋㅋㅋㅋ 그렇다고 또 너무 쉬우면 경험치가 안올라요... 더보기
5052 - 전화번호 목록 https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 문제 전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오. 전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다. 예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자 긴급전화: 911 상근: 97 625 999 선영: 91 12 54 26 이 경우에 선영이에게 전화를 걸 수 있는 방법이 없다. 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 www.acmicpc.net 문자열 알고리즘, 자료구조엔 투 톱이 있습니다. (주관적인 생각입니다) 해시(hash)와 트라이(Trie)가 바로 그 것인데요. 해시.. 더보기
1920 - 수 찾기 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수들의 범위는 int 로 한다. www.acmicpc.net 제가 알고리즘 문제 풀 때 항상 약했던 부분이 이분 탐색이라서 백준 이분 탐색 문제를 재미삼아 풀어봤습니다. 간단합니다. 처음 N개의 배열을 정렬하고 M개의 배열을 하나씩 뽑아서 이분 탐색을 시켜서 있으면 1을 출력하고 없으면 0을 출력하면 됩니다. #include #include void.. 더보기
1717 - 집합의 표현 https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 포함되어 있는 집합과, b가 포함되어 있는 집합을 합친다는 의미이다. 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 1 a b의 형태로 입력이 주어진다. 이는 a와 b가 같은 집합에 포함되어 있는지를 확인하는 연산이다. a www.acmicpc.net 이 전에 풀었던 1976 - 여행 가자 문제와 유사한 문제입니다. 단, 이 문제는 중간 중간마다 결과를 출력해야 한다는 점만 분기를 .. 더보기

반응형
LIST