목록알고리즘 (547)
N
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 nresult 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 125 11122 22111 229 따라서 229를 return 해야 합니다. 수를 3진법으로 변환할..
문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항 arr의 행의..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14hwZqABsCFAYD&categoryId=AV14hwZqABsCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 배열의 맨 밑에서부터 검사를 한다. 행 단위로 움직이도록 한다. (바깥 for문 = j, 안쪽 for문 = i) bool형 n, s를 이용해 교착 상태를 확인한다. arr[i][j] == 1이면 N극, 2이면 S극이므로 각각의 상태를 확인한다. N극인 경우) 1)n과 s가 false인 경우 테이블 밖으로 떨어진다. 2)n == tr..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14Rq5aABUCFAYi&categoryId=AV14Rq5aABUCFAYi&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1215 회문1 문제와 비슷하다. 다만 가장 긴 회문의 길이만 찾아서 출력하면 된다. while문으로 가장 긴 회문을 찾을 때까지 반복. n = 100 ~ 0까지, 현재 회문의 길이를 나타낸다. 회문의 길이가 100부터 시작하므로 맨 처음 찾은 회문의 길이가 가장 큰 값을 나타낸다. 가로, 세로를 검사하여 확인해주면 된다. #inc..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14QpAaAAwCFAYi&categoryId=AV14QpAaAAwCFAYi&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com test case는 10번으로 고정 반복. 8 x 8로 고정된 크기로 string을 입력받아 vector에 저장한다. size는 회문의 크기를 나타내고, size == 1이면 모든 단어가 회문이므로 64를 출력한다. size가 1이 아니라면 가로, 세로를 검사해야 한다. 8 x 8이라 시간은 충분하므로 가로, 세로를 각각 for문을..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14P0c6AAUCFAYi&categoryId=AV14P0c6AAUCFAYi&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 10번의 test case가 주어진다. 테스트 케이스 번호, 찾으려 하는 단어, 주어지는 string을 각각 int형 n, string형 search, string형 s 변수에 넣어 주도록 한다. size는 search의 크기를 나타내고, substr()함수를 이용할 때 search의 크기만큼 자르기 위해 사용한다. s의 크기 만큼..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13_BWKACUCFAYh&categoryId=AV13_BWKACUCFAYh&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 10번의 test case가 주어진다. 가로, 세로, 왼쪽 대각, 오른쪽 대각의 합을 구하여 최대값을 구하도록 한다. 우선 100 x 100 크기의 수를 받아온다. 받아올 때 이중 for문 안에서 가로(row), 왼쪽 대각(ldia), 오른쪽 대각(rdia)의 값을 구할 수 있다. 행이 바뀔 때 max보다 row가 크면 최대값을 r..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com test case는 10으로 정해져 있으므로 for문을 10번 반복한다. vector를 이용하여 문제를 해결. 가로의 길이는 100으로 고정이므로 100개의 상자 높이를 받아온다. 평탄화 작업을 수행. 상자의 높이가 담겨져 있는 v 벡터를 계속해서 sort를 한다. 오름차순 정렬이 되기 때문에 v[0]은 min 값, v[99]는 m..