게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
알고리즘 문제좀 봐주세요
게시물ID : programmer_22476짧은주소 복사하기
작성자 : 능관(가입:2016-12-18 방문:51)
추천 : 0
조회수 : 582회
댓글수 : 16개
등록시간 : 2018/06/29 19:48:47
프로그래머스에서 알고리즘 문제를 풀고있습니다. 컴파일해서 나오긴 하는데 여기서 더 간단하게 만들수 있을까요?
*******************************************************문제**********************************************************************
길이가 n인 배열에 1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는지를 확인하려고 합니다.
1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는 경우 true를, 아닌 경우 false를 반환하도록 함수 solution을 완성해주세요
*************************************************************************************************************************************

*******************************************************입출력 예**********************************************************************
arr result
[4, 1, 3, 2] true
[4, 1, 3] false
입출력 예 설명

입출력 예 #1
입력이 [4, 1, 3, 2]가 주어진 경우, 배열의 길이가 4이므로 배열에는 1부터 4까지 숫자가 모두 들어 있어야 합니다. [4, 1, 3, 2]에는 1부터 4까지의 숫자가 모두 들어 있으므로 true를 반환하면 됩니다.

입출력 예 #2
[4, 1, 3]이 주어진 경우, 배열의 길이가 3이므로 배열에는 1부터 3까지 숫자가 모두 들어 있어야 합니다. [4, 1, 3]에는 2가 없고 4가 있으므로 false를 반환하면 됩니다.


******************************************************제가 만든 알고리즘**************************************************************

bool arr_solution(int arr[],int cnt)
{
int co[100000]={0};
for(int i=0;i
{
   if(arr[i]<1||arr[i]>cnt)
     return false;
    else co[arr[i]]++;
  {
   for(int i=0;i
  }
    if(co[i]>1)return false;
}
return true;
}

전체 추천리스트 보기
댓글쓰기
리스트 페이지로
데이터절약모드
◀뒤로가기
PC버전
맨위로▲
공지 운영 게시판요청 자료창고