분류 전체보기(196)
-
테트로미노
문제폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오.테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며, 회전이나 대칭을 ..
2024.05.31 -
메뉴 리뉴얼
2021 KAKAO BLIND RECRUITMENThttps://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr소요 시간 : 45분실행 결과 : 성공아마 다양한 테스트 케이스가 주어지지 않는다면 성공하지 못했을 것이다.문제를 잘 이해해야하고, 문제를 잘 읽어보아야한다. 문자열의 정렬조건, 조합을 언제 사용해야하는지 등등... 먼저 입력값으로 주어진 course를 순회한다. course는 코스요리를 구성하는 메뉴의 갯수를 표현하는 것으로 이 값을 조합에서 뽑는 갯..
2024.05.30 -
순위 검색 (다시 풀어보고 정리하기)
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr
2024.05.30 -
거리두기 확인하기
2021 카카오 채용연계형 인턴십https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr소요 시간 : 1시간 10분실행 결과 : 실패응시자끼리 멘해튼 거리가 2이하로 앉지 않아야한다. 단, 예외조건이 있다. 예외조건은 문제에 명시되어있다.응시자가 앉아있는 자리라면 해당 자리에서 4방향 탐색을 진행한다. 방향 탐색 중, 다음 방향에 "X"가 되어있다면 즉, 파티션이 있다면 해당 방향으로는 더 탐색하지 않아도 된다. 하지만 "P"가 있다면 멘해튼 거리가 1이므..
2024.05.30 -
주사위 굴리기
https://www.acmicpc.net/problem/14499소요 시간 : 1시간 20분실행 결과 : 실패 (입력값을 받아오는데 실수, 논리는 맞음)"가장 처음에 주사위에는 모든 면에 0이 적혀져 있다."라는 조건을 확인하지 못해서 시간이 많이 뺏겼다. 각 면에 번호를 붙혀서 면들을 구분해놓은 것이 전개도니까 동,서,남,북으로 주사위를 굴렸을 때 전개도의 상태가 어떻게 변경되는지 적어보았다.윗면, 밑면, 오른면, 왼면, 앞면, 뒷면이 전개도 상에서 1, 3, 4, 2, 5, 6일 때, 동서남북으로 회전한 상태는 다음과 같다. 위밑오왼앞뒤동431625서346125남523416북253461 1. 굴리는 방향에 따라 현재 위치에서 이동할 다음 위치를 구한다. - 만약 이동할 다음 위치가 범위에서 벗어난..
2024.05.29 -
톱니바퀴
https://www.acmicpc.net/problem/14891소요 시간 : 1시간 20분실행 결과 : 성공톱니바퀴의 회전여부가 중요하다.회전을 했다면 회전한 톱니바퀴 양 쪽 톱니바퀴와 맞닿은 부분이 같은 극인지 다른 극인지 판단한다.다른 극이라면 또 톱니바퀴를 회전해야한다. 즉, 재귀적인 방법을 생각할 수 있다. 그런데 회전을 했다면 해당 바퀴는 회전을 했다고 체크해야한다. 그러지 않으면 재귀에서 빠져나올 수 없다.바퀴 정보를 state라고 가정할 때, solve (회전시킬 바퀴, 방향): if(check[회전시킬 바퀴]) return // 해당 바퀴가 이미 회전한다고 체크되었다면 return check[회전시킬 바퀴] = 1 // 바퀴가 인덱스 범위에 벗어나지 않도록 해야한다. if(회..
2024.05.29