본문 바로가기

알고리즘112

[프로그래머스 / 달리기 경주 / JAVA] https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 for문만 사용하면 시간초과가 뜨더라 그래서 map을 쓰면 되겠거니 했는데 map을 사용할 땐 호명되는 선수의 순위를 높일 순 있어도 추월당한 선수의 순위를 줄이는 방법이 생각이 안나더라 이 방법 저 방법 머리 돌리다 결국 빙빙 돌아서 찾게 되었다. players 배열의 인덱스로 map에 있는 선수들의 순위를 사용하였다. 추월당할 선수의 이름은 temp에 저장, 이후 추월당한 선수의 .. 2023. 4. 11.
[SWEA / 스도쿠 검증 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Psz16AYEDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 무식하게 풀었다. 스도쿠는 가로, 세로, 3X3 크기의 정사각형 안에서 1~9의 숫자가 겹치지 않아야 한다. 정사각형의 경우 [0][0], [0][3], [0][6] [3][0], [3][3], [3][6] [6][0], [6][3], [6][6] 9개의 꼭짓점을 기준으로 같은 정사각형 내에 있는 다른 8개의 숫자와 비교한다. 가로, 세로의 경우는 인덱스의 0~9, 1~9, 2~9 ..... 2023. 4. 7.
[SWEA / 달팽이 숫자 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PobmqAPoDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 머리론 되게 쉬워보이는데 일일이 구현하는 건 생각보다 시간이 걸렸다. 움직이는 방향을 boolean 타입으로 지정해서 어디로 움직일지 방향을 잡아준다. 달팽이는 2차원 배열 공간을 움직이며 움직이는 공간에 1씩 증가된 값을 저장시켜준다. 달팽이가 다음 경로로 갈 수 없는 경우는 크기를 벗어나게 될 때와 값이 저장되어 있는 경우다. → int형 배열은 초기값을 지정해주지 않으면 defaul.. 2023. 4. 6.
[SWEA / 간단한 압축 풀기 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PmkDKAOMDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 값 입력받고 인덱스당 10개씩 문자를 담아주면 되겠다 생각 처음엔 배열로 만들었으나 배열은 크기가 지정되있기 때문에 추가해야할 단어들이 한 줄에 10개가 넘어가면 다음 인덱스를 추가 해줄 수가 없었다. → 크기 1의 배열에 B 20인 경우면 인덱스 초과 그래서 List를 사용하여 한 줄의 크기가 10이 넘어가면 다음 인덱스를 만들고 거기에다가 단어를 계속 넣어주었다. buffer랑 tok.. 2023. 4. 4.
[프로그래머스 / 추억 점수 / JAVA] https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 사진 속 인물은 여러 명이지만 모두를 그리워하진 않는다. 그리워하는 인물들은 따로 정해져있는데 이 인물들마다 그리움 점수가 있다. 이 그리워하는 인물들은 2차원 배열 안에 그룹별로 흩어져있다. 그룹별로 그리움 점수를 합산 그리워하는 이름들이랑 2차원 배열들이랑 일일이 비교하면 되지 않을까? 라는 생각이 들었는데 그렇게 단순한 문제면 일일이 비교했을 때 시간제한이 걸리게 만들어 놓지 않.. 2023. 3. 31.
[백준 / 팰린드롬 만들기 / JAVA] https://www.acmicpc.net/problem/1254 1254번: 팰린드롬 만들기 동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는 www.acmicpc.net 문제 접근 머릿 속에서 떠올리는 거랑 직접 코드로 짜는 거랑은 다르다고 느꼈다. 문제를 풀 수 있는 규칙을 떠올리는 과정이 쉽지 않았다. 그래서 다른 사람의 도움을 받았음 1. 앞에 문자부터 하나씩 잘라가면서 만든 문자열로 앞, 끝 문자를 한 칸씩 땡기면서 비교 (전체 틀) 2. 비교하면서 문자가 다르면 다시 돌아와서 기존 문자열 크기에 +1 → 잘라버린 앞 문자를 문자열 맨 뒤에 붙여서 팰린드롬을 만.. 2023. 3. 31.