알고리즘/구현

알고리즘/구현

프로그래머스 - 방문 길이

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이동 경로 중 처음 방문한 간선의 개수를 구하는 문제였다. 문제 풀이 처음에는 구조체를 만들어서 구조체 [11][11] map을 만들고, 각 LRUD마다 반대 방향의 RLDU 체킹을 일일이 넣어줬는데 너무 복잡하고 어느 부분이 틀린지도 잘 모르겠어서 다시 풀었다. 다시 풀면서 3차원 배열로 변경하고 nx, ny와 x,y의 LR / RL / UD / DU 계산을 (di+2)%4로 해서 간단하게..

알고리즘/구현

프로그래머스 - 소수 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3개 숫자의 합이 소수인지 판별하는 문제였다. 문제 풀이 에라토스테네스의 체를 이용했고 nums가 최대 50개로 작은 수여서 완전탐색으로 풀었다. #include #include using namespace std; int isPrime[3001]; void calPrime(){ fill(isPrime, isPrime+3000,1); isPrime[0] = 0; isPrime[1] = 0; ..

알고리즘/구현

프로그래머스 - 다단계 칫솔 판매

문제 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그래프에서 부모를 거슬러 올라 가면서 판매액을 계산하는 문제였다. 문제 풀이 해시맵에 이름과 node를 키밸류로 저장해서 풀었다. 중간에 시간 초과가 났는데 부모에게 보낼 돈이 0일 경우 break 걸어주니 해결됐다. 최대 100000 * 10000 에서 100000 * 5 (최대 amount는 100*100, 10000이고 10씩 나누기 때문에 5번) 만큼 걸리도록 줄였다. #include..

알고리즘/구현

프로그래머스 - 행렬 테두리 회전하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 행렬에서 주어진 부분의 테두리를 회전시키는 문제였다. 문제 풀이 100 x 100 크기의 행렬이 최대였고 최대 회전수가 10000이었기 때문에 40 * 10000을 했을 때 400000이어서 마음 편하게 반복문을 사용했다. #include #include using namespace std; vector map; void printMap(int row, int col){ for(int..

알고리즘/구현

프로그래머스 - 뒤에 있는 큰 수 찾기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr stack 을 이용해 자신의 뒤에 있으면서 가장 가까운 큰 수를 찾는 문제였다. 문제 풀이 처음에는 완전탐색을 이용해 풀었는데 4개의 케이스에서 시간 초과가 나왔고, 입력값이 최대 100만인 상황에서 break 조건을 걸어서 시간 초과를 해결해도 출제 의도와는 다른 것 같아서 다른 방법으로 풀었다. 자신의 뒤에서 가장 가까운 큰 수를 찾는 문제였기 때문에 stack을 사용했다. number..

알고리즘/구현

프로그래머스 - 두 원 사이의 정수 쌍

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 큰 원 - 작은 원 을 하는 문제였다. 문제 풀이 처음에는 4분의 1 범위에 대해서 완전탐색을 했고, 시간 초과가 났다. 항상 문제를 풀 때 시간복잡도가 어떤 방법으로 풀어야 할지 생각을 좀 해야겠다. 사실 이번에도 안될거 알면서 완전탐색으로 해본거라... 안될 것 같으면 다른 방법을 찾자!! 코테는 제한 시간이 정해져 있으니까! #include #include #include using ..

알고리즘/구현

백준 - 1259

문제 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 팰린드롬 수인지 아닌지 확인하는 문제였다. 문제 풀이 정수를 문자열로 입력받았고 left와 right를 옮기면서 동일한지 확인해줬다. 만약 다르다면 팰린드롬 수가 아닌것으로 판단했다. 최근에 골드 문제만 풀다가 브론즈 문제를 푸니까 너무 쉽고 좋다. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namesp..

알고리즘/구현

이코테, 프로그래머스 - 기둥과 보 설치

문제 https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr command 리스트에 따라 주어진 조건에 맞게 기둥과 보를 설치/해제하는 문제였다. 조건 기둥은 바닥 위에 있거나 보의 한쪽 끝 부분 위에 있거나, 또는 다른 기둥 위에 있어야 합니다. 보는 한쪽 끝 부분이 기둥 위에 있거나, 또는 양쪽 끝 부분이 다른 보와 동시에 연결되어 있어야 합니다. 문제 풀이 처음에 문제를 잘못 이해해서 다시 풀었다... 보의 양 끝이 하나의 보를 말하는게 아니라 ..

hahihi
'알고리즘/구현' 카테고리의 글 목록 (4 Page)