본문 바로가기

분류 전체보기

(106)
백준 170문제를 풀고 느낀점 요새 근 1주일동안은 개강전 일정리 및 휴식기를 가져서 문제를 그닥 많이 풀진 못했다. 주식공부도 좀 했고.(주린이임) 느낀점들을 나열하면 완전탐색 위주로 공부를 했었는데, 이부분에 대한 감이 150문제때보다는 그나마 조금 는거 같다. 이제는 문제의 양보단 질에 좀더 초점을 둬야될 시점인 것 같다. 그래서 종만북 리딩을 시작했다. 많이 읽진 못했다. 복습도 중요하다. 내가 쓴 글들 다시 읽으면서 복습하는 시간도 가끔씩 가져야 할 것 같다. 입출력 DP1 그래프(dfs,bfs,트리 문제들) 그리디 알고리즘 이분탐색 분할정복 (수학 문제들) 브루트포스 - 비트마스크, 재귀 분할정복 우선순위 큐 활용법 위상 정렬 겨울방학 끝날 때까지 250문제~300문제 푸는게 목표. --> 실패했다. 계획대로 인생이 되진 ..
백준 13460 구슬탈출2 - 구현 자체가 너무 까다로운 bfs문제 c++ https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' 로 이루어져 있다. '.'은 빈 칸을 의미하고, '#'은 공이 이동할 수 없는 장애물 또는 벽을 의미하며, 'O'는 구멍의 위치를 의미한다. 'R'은 빨간 구슬의 위치, 'B'는 파란 구슬의 위치이다. 입력되는 모든 보드 www.acmicpc.net 진짜 코드도 길고, 구현도 까다로운 문제다. 삼성 sw역량테스트 기출문제라길래, 평소에 풀어야지 풀어야지 하다가 오늘 날잡고 풀..
백준 2098 외판원 순회 - 비트마스킹,dp,dfs c++ 문제 링크 https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j로 가기 위한 비용을 나타낸다. 항상 순회할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 해설 및 회고 쉽지않은 문제였다. 전날 밤 12시에 자기전에 이 문제를 처음 보고 다음날 오늘 오후에 걸려서 다 풀었다. 종만북을 이제 첨 보기 시작했는데, 2권 첫장에 나온 내용이 비트마스킹 관련된 부분이었다. 외판원 문제에 비트마스킹을 적용해야 하는 이유 외판원 문제를..
백준 14226 이모티콘 - 2차원 배열로 상태저장 bfs - c++ 링크 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만들어 보려고 한다. 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장한다. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 한다. 화면에 있는 이모티콘 중 하나를 삭제한다. 모든 연산은 1초가 걸린다. 또, 클립보드에 이모티콘을 복사하면 이전에 클립보드에 있던 내용 www.acmicpc.net 아이디어 오랜만에 bfs관련 풀어본 문제. 이문제는 주의해야 할점이, 클립보드에 복사한 이모티콘 갯수는 몇번이고 재사용이 가능하..
백준 16194 카드구매하기 2 - 쉬운 dp문제 c++ https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 우선 입력으로 받은 카드의 가격들을 arr에다가 담는다. 이것들이 기저 조건들이 된다. 그 다음엔 2개가 들어있는 카드팩부터, n개 들어있는 카드팩을 사는게 이득인지, n-k개 카드팩 + k개 카드팩 을 사는게 이득인지를 k = 1부터 n-1까지 돌려보면 쉽게 구할 수 있다. 최대 카드팩 장수가 1000이고, O(n^2)로 코드가 돌아가기 때문에 충분히 시간내에 풀 수 있다. 1 2 3 4 5 6 7..
2020 카카오 1차 코딩테스트 - 자물쇠와 열쇠 c++ 링크 https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 | 프로그래머스 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 해결시간 : 약 1시간 40분 2차원 배열(c++의 경우는 2차원 int형 벡터)를 조작하면서 열쇠를 자물쇠에 갖다대는 작업을 하면 되는 브루트포스 문제였다. 크기가 애초에 20*20밖에 안되기 때문에 브루트포스로 가능. 우선 첫번째 해야할 과정은 key를 시계방향으로 돌리는 작업이다. 이 과정은 그림을 그려보고 대응되는 인덱스들을 차근차근 따져보면 충분히 단시간에 할 수 있었다. 두번째로..
프로그래머스 카카오 1차 공채 코딩테스트 - 괄호변환 c++ https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 | 프로그래머스 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 콘은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 programmers.co.kr 카카오 2020 공채 코테문제를 풀기 시작했다. 그중에서 이 문제 역시 문..
200305 프로그래머스 2단계 배지 획득! 프로그래머스 2단계 배지를 획득했다. 2단계를 3수씩이나 하면서 배지를 땄는데 느낀점은 문자열 조작하는 방법이라던지, 문제에서 짜라는대로 짜야하는 시뮬레이션 문제가 많이 나왔다는 점이다. 실제로 문자열 조작은 코딩테스트 초반 1,2번에 자주 나오는 주제이기도하고, 조금더 이 주제에 대한 연습의 필요성을 느꼈다. 3단계까지는 또 얼마나 많은 연습과 시간이 들까?