코딩테스트/프로그래머스
-
[문제] 코딩테스트 연습 - 점프와 순간 이동 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 현재 숫자에서 2를 나눌 수 있다면 계속 나눠주다가 못 나눈다면 1을 빼고 다시 2를 나눠주자. 2를 나눌때는 에너지를 안쓰니 최대한 많이 나눠주는것이 결국 가장 효율적인 길이 된다. [회고] 처음에 Dfs인가 했다가 범위가 10억인걸 보고 DP로 했는데 범위가 10억이라서 시간초과 + 메모리 초과가 떴다. 코드 자체의 문제는 없었지만 10억의 경우 n까지 가는 것만으로도 무리일 경우가 있으니..
[C++] 점프와 순간 이동[문제] 코딩테스트 연습 - 점프와 순간 이동 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 현재 숫자에서 2를 나눌 수 있다면 계속 나눠주다가 못 나눈다면 1을 빼고 다시 2를 나눠주자. 2를 나눌때는 에너지를 안쓰니 최대한 많이 나눠주는것이 결국 가장 효율적인 길이 된다. [회고] 처음에 Dfs인가 했다가 범위가 10억인걸 보고 DP로 했는데 범위가 10억이라서 시간초과 + 메모리 초과가 떴다. 코드 자체의 문제는 없었지만 10억의 경우 n까지 가는 것만으로도 무리일 경우가 있으니..
2023.04.04 -
[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 팰린드롬의 가장 긴게 어느정도인지 파악하는 문제이다. 슬라이딩 윈도우 방식을 살짝 이용해서 해당 문제를 풀었다. 1. ABBBCBA 라는 문자열이 있다고 가정을 해보자. 이때 처음과 끝이 A로 같으니 팰린드롬을 검사하자. 팰린드롬이 아니라면 마지막 index 위치를 계속해서 조정하다가 팰린드롬이 안나온다면 start 위치를 옮겨서 B부터 시작을 하자. 이와 같이 반복을 한다..
[C++] 가장 긴 팰린드롬[문제] https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 팰린드롬의 가장 긴게 어느정도인지 파악하는 문제이다. 슬라이딩 윈도우 방식을 살짝 이용해서 해당 문제를 풀었다. 1. ABBBCBA 라는 문자열이 있다고 가정을 해보자. 이때 처음과 끝이 A로 같으니 팰린드롬을 검사하자. 팰린드롬이 아니라면 마지막 index 위치를 계속해서 조정하다가 팰린드롬이 안나온다면 start 위치를 옮겨서 B부터 시작을 하자. 이와 같이 반복을 한다..
2023.04.02 -
[문제] 코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] #이 나오는 가장 적은 x값, 가장 큰 x값, 가장 작은 y값, 가장 큰 y값을 구한 뒤에 가장 큰 값들은 index를 1씩만 더해주자. [회고] 특별히 없음. [코드] #include #include #include #include using namespace std; int board[51][51]; int n,m; vector solution(vector wallpaper) { n = wal..
[C++] 바탕화면 정리[문제] 코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] #이 나오는 가장 적은 x값, 가장 큰 x값, 가장 작은 y값, 가장 큰 y값을 구한 뒤에 가장 큰 값들은 index를 1씩만 더해주자. [회고] 특별히 없음. [코드] #include #include #include #include using namespace std; int board[51][51]; int n,m; vector solution(vector wallpaper) { n = wal..
2023.03.31 -
[문제] 코딩테스트 연습 - 리코쳇 로봇 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 포켓몬스터 골드를 했던 기억이 있다면 바로 이해가 되는 문제였다. 위, 아래, 오른쪽, 왼쪽으로 갈때 벽이나 혹은 가장 끝까지 미끄러지는 상태이며 목표지점까지 최소 몇번이 걸리는지 파악을 하는 문제이다. 나는 해당 문제를 for(int i = 0;i=0;j--){ //-1이 나오거나 n이 나오면 종료. if(board[curX][j] == -1){ temp = j + 1; flag = true; b..
[C++] 리코쳇 로봇[문제] 코딩테스트 연습 - 리코쳇 로봇 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 포켓몬스터 골드를 했던 기억이 있다면 바로 이해가 되는 문제였다. 위, 아래, 오른쪽, 왼쪽으로 갈때 벽이나 혹은 가장 끝까지 미끄러지는 상태이며 목표지점까지 최소 몇번이 걸리는지 파악을 하는 문제이다. 나는 해당 문제를 for(int i = 0;i=0;j--){ //-1이 나오거나 n이 나오면 종료. if(board[curX][j] == -1){ temp = j + 1; flag = true; b..
2023.03.30 -
[문제] 코딩테스트 연습 - 공원 산책 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 빡구현 문제인데 오랜만에 빡구현 문제를 보니 생각했던 시간보다 오래 걸려서 풀게 되었다. 해당 문제에서 요구사항은 1. S의 위치 파악 2. X좌표, 가지 못하는 곳의 위치 파악 3. S를 1씩(이게 중요하다.) 움직여서 요구사항 마지막까지 따를 수 있다면 모두 따르자. 나는 E, S, N, W 4가지의 경우에 맞춰서 구현을 하였다. * 만일 방향 요구가 E라면 if(route.first == '방향..
[C++] 공원 산책[문제] 코딩테스트 연습 - 공원 산책 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 빡구현 문제인데 오랜만에 빡구현 문제를 보니 생각했던 시간보다 오래 걸려서 풀게 되었다. 해당 문제에서 요구사항은 1. S의 위치 파악 2. X좌표, 가지 못하는 곳의 위치 파악 3. S를 1씩(이게 중요하다.) 움직여서 요구사항 마지막까지 따를 수 있다면 모두 따르자. 나는 E, S, N, W 4가지의 경우에 맞춰서 구현을 하였다. * 만일 방향 요구가 E라면 if(route.first == '방향..
2023.03.25 -
[문제] 코딩테스트 연습 - 아이템 줍기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] bfs를 이용한 문제인데 몇가지 주의사항을 알아야 답이 도출되는 문제이다. 우선은 문제를 풀기 위해서 3가지 과정을 걸쳐서 답이 나오게 만들었다. 1. 직사각형의 테두리 칠하기. 2. 직사각형 테두리 내부 0으로 초기화하기 3. bfs를 이용해서 직사각형의 테두리 둘레를 따라서 돌아다니기. *주의사항 : 2번의 테두리 내부를 0으로 초기화 하는 과정은 테두리를 모두 칠한뒤에 해야 한다. 테두리를 칠..
[C++] 아이템 줍기[문제] 코딩테스트 연습 - 아이템 줍기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] bfs를 이용한 문제인데 몇가지 주의사항을 알아야 답이 도출되는 문제이다. 우선은 문제를 풀기 위해서 3가지 과정을 걸쳐서 답이 나오게 만들었다. 1. 직사각형의 테두리 칠하기. 2. 직사각형 테두리 내부 0으로 초기화하기 3. bfs를 이용해서 직사각형의 테두리 둘레를 따라서 돌아다니기. *주의사항 : 2번의 테두리 내부를 0으로 초기화 하는 과정은 테두리를 모두 칠한뒤에 해야 한다. 테두리를 칠..
2023.02.03