모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    금연07132016님의
    개인페이지입니다
    가입 : 11-04-28
    방문 : 1788회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_1221
    작성자 : 애널써커.
    추천 : 0
    조회수 : 4433
    IP : 173.73.***.41
    댓글 : 1개
    등록시간 : 2014/02/14 08:33:12
    http://todayhumor.com/?programmer_1221 모바일
    최빈값 알고리즘과 2차원 배열의 문제...
    <div>import java.util.Collections;</div> <div>import java.util.Scanner;</div> <div>import java.util.Arrays;</div> <div>import java.util.List;</div> <div><br /></div> <div>public class Code {</div> <div><br /></div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>public static void main(String[] args) </div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>{</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>int num1, num2, num3, num4, num5, sum, avg, max, min;</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Scanner keyboard = new Scanner(System.in);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Enter the first number:");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>num1 = keyboard.nextInt();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Enter the seond number:");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>num2 = keyboard.nextInt();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Enter the third number:");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>num3 = keyboard.nextInt();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Enter the fourth number:");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>num4 = keyboard.nextInt();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Enter the fifth number:");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>num5 = keyboard.nextInt();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>keyboard.close();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span><font color="#ff0000">int[] num = new int[5]; // array named num is declared with 5 variables</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>num[0] = num1;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>num[1] = num2;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>num[2] = num3;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>num[3] = num4;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>num[4] = num5;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>Arrays.sort(num);</font></div> <div><span class="Apple-tab-span" style="white-space: pre"><font color="#ff0000"> </font></span></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int n1 = num[0];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int n2 = num[1];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int n3 = num[2];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int n4 = num[3];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int n5 = num[4];</font></div> <div><span class="Apple-tab-span" style="white-space: pre"><font color="#ff0000"> </font></span></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>List<Integer> index1 = Arrays.asList( n1, n2, n3, n4, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int occurrences1 = Collections.frequency(index1, n1);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span></font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>List<Integer> index2 = Arrays.asList( n1, n2, n3, n4, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int occurrences2 = Collections.frequency(index2, n2);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>    </font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>List<Integer> index3 = Arrays.asList( n1, n2, n3, n4, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int occurrences3 = Collections.frequency(index3, n3);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>    </font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>List<Integer> index4 = Arrays.asList( n1, n2, n3, n4, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int occurrences4 = Collections.frequency(index4, n4);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>    </font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>List<Integer> index5 = Arrays.asList( n1, n2, n3, n4, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>int occurrences5 = Collections.frequency(index5, n5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>    </font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>  <span class="Apple-tab-span" style="white-space: pre"> </span>int [][] nums = new int [5][2];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>  <span class="Apple-tab-span" style="white-space: pre"> </span>nums [0][0] = n1;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>nums [1][0] = n2;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>nums [2][0] = n3;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>nums [3][0] = n4;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>nums [4][0] = n5;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>nums [0][1] = occurrences1;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>nums [1][1] = occurrences2;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>nums [2][1] = occurrences3;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>nums [3][1] = occurrences4;</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>nums [4][1] = occurrences5;</font></div> <div><span class="Apple-tab-span" style="white-space: pre"><font color="#ff0000"> </font></span></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>int maxOccurrences = Math.max(Math.max(Math.max(Math.max(occurrences1, occurrences2),occurrences3),occurrences4),occurrences5);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    </font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>for (int i = 0; i < nums.length; i++) {</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>for (int j = 0; j < nums[i].length; j++) {</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>if (nums[i][j] == maxOccurrences) {</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>int mode = nums [i][j-1];</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Mode: " + mode);</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>}</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>   <span class="Apple-tab-span" style="white-space: pre"> </span>}</font></div> <div><font color="#ff0000"><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>}</font></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>    </div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>    <span class="Apple-tab-span" style="white-space: pre"> </span>sum = (int)(num1 + num2 + num3 + num4 + num5);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>avg = (int)(sum/5);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>max = Math.max(Math.max(Math.max(Math.max(num1, num2),num3),num4),num5);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>min = Math.min(Math.min(Math.min(Math.min(num1, num2),num3),num4),num5);</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println(" ");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Sum:" + sum);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Avg:" + avg);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Max:" + max);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Min:" + min);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("Median:" + num[2]);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div>}</div> <div><br /></div> <div><br /></div> <div><br /></div> <div><br /></div> <div>제가 짠 코드인데요... 갓 시작한 학생이라 아직 자바 2차원 배열이나 루프개념이나 이해가 안가는 부분이 있습니다.</div> <div>20~30시간정도 mode (최빈값; 가장 빈도가 많은 값)을 찾는 알고리즘을 만들기 위해서 끊임 없이 stack overflow를</div> <div>뒤졌는데도 해답이 안나와서 여쭙습니다.</div> <div><br /></div> <div>빨간색으로 되어져있는 부분이 최빈값을 찾아내는 알고리즘인데요.</div> <div>최빈값을 구하기는 했으나 문제되는 부분이 많이 있습니다..ㅠㅠ</div> <div><br /></div> <div>빨간 부분의 구조가 어떻게 되어있냐면,</div> <div>프로그램 사용자가 5가지의 숫자를 어떤 순서로던지 입력을 합니다. (예: 12, 16, 18, 12, 16)</div> <div>이렇게 입력이 된 숫자를 num이란 배열로 num[0]~num[4] 까지 최소값에서 최대값으로 정렬을 시켜주구요.</div> <div>ArrayList index1 에서 index5에 occurrences1~occurrences5 변수에 각 5가지의 숫자에 해당되는 빈수를 저장합니다.</div> <div>다시 num[0] ~ num[4]를 n1~n5 라는 변수에 저장을 시킵니다.</div> <div>n1~n5 변수를 nums라는 2차원배열의 첫번째 열에 차례대로 (최소값~최대값 순서로) 저장을 시켜주구요. (예: nums[0][0] = n1, nums[1][0] = n2)</div> <div>그리고 n1~n5변수의 빈수 (occurrences1~occurrences5)를 2차배열 두번째 열에 저장을 시켜주구요. (해당되는 변수의 오른쪽 열)</div> <div>그리고 occurrences1~occurrences5 변수중 가장 큰 값을 가진 변수를 maxOccurrences라는 변수에 저장합니다.</div> <div>그리고 그 maxOccurrences라는 변수에 저장되어져 있는 값을 </div> <div>맨 아래의 루프에 표시된것 처럼 nums [][] 2차원 배열에서 값을 찾은뒤 해당 되는 값이 존재하는 곳의 주소를 기억해서</div> <div>그 주소 (nums[i][j])를 토대로 왼쪽에 있는 숫자 (nums[i][j-1]) 를 최빈값(mode) 로 출력해주는데요.</div> <div><br /></div> <div>위 코드대로 돌렸을 시에 문제는 아래와 같습니다...</div> <div>1. 5가지의 숫자를 1,2,1,3,5라고 가정했을시 maxOccurrences는 2입니다. 2의 주소 두번째 열에서만 검색해야하는데 첫번째 열도 검색을 해버려서</div> <div>   만약에 최대빈수 = 유저가 입력한 값이 될시, 에러가 떠서 실행이 안됩니다..ㅠㅠ</div> <div><br /></div> <div>2. maxOccurrences를 불러올때, 1번과 같은 에러가 만약에 없을 시, 첫번째 행에서 중복값이 있을 경우에 하나의 값만 불러오면 되는데, 중복값을 모      두 불러옵니다.ㅠㅠ</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>예->    <table border="1" width="100%" cellpadding="3" cellspacing="0" bordercolor="#000000" style="border-style: solid; border-collapse: collapse"> <tbody> <tr> <td> 유저가 넣은 값</td> <td>빈도수 </td></tr> <tr> <td>1 </td> <td> 2</td></tr> <tr> <td> 1</td> <td> 2</td></tr> <tr> <td> 2</td> <td> 2</td></tr> <tr> <td> 2</td> <td> 2</td></tr> <tr> <td> 3</td> <td> 1</td></tr></tbody></table></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>최빈값 출력시: 1<br /><span class="Apple-tab-span" style="white-space: pre"> </span>     1<br />                             2<br />                             2</div> <div><br /></div> <div><br /></div> <div><br /></div> <div>위 두가지 문제점을 고칠수 있는 방법이 없을까요?</div>

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    66
    피자 얼려서 먹으니까 맛잇네요? [2] 섹시스님 14/07/22 13:49 176 1
    65
    클래식 제목 찾아주세요... [2] 섹시스님 14/07/19 15:45 16 0
    64
    이거 이름 맞춰보세요 [15] 섹시스님 14/07/18 09:22 299 0
    63
    8-21-13-2-12-5-2-21-14-4-12-5 [5] 섹시스님 14/07/15 01:42 204 5
    62
    고양이가 노려보면 어떡하죠?? [5] 섹시스님 14/07/14 14:36 100 2
    61
    그리드 오토스포츠 (중간난이도) [3] 섹시스님 14/06/28 02:26 40 1
    60
    GRID 오토스포츠 멀티하실분 [1] 섹시스님 14/06/27 03:27 32 0
    59
    잔디장이 에이스침대 섹시스님 14/06/23 05:04 45 0
    58
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 섹시스님 14/06/23 04:41 50 0
    57
    Deux Ex: The Fall 앱스토어에서 공짜네요 [7] 섹시스님 14/06/07 18:21 97 1
    56
    험블번들 위클리 나눔 결과입니다. [8] 섹시스님 14/06/07 04:52 99 4
    55
    오늘같은 날엔 뭐하나.. [20] 섹시스님 14/06/06 10:08 194 10
    54
    스팀 친구 하실분! 섹시스님 14/06/04 12:31 61 0
    53
    음..... 이상한가요?? [5] 섹시스님 14/06/03 15:32 162 0
    52
    진리의 패드네요.. [2] 섹시스님 14/05/31 15:54 147 0
    51
    와치독스 스샷들 (본인 찍음) [7] 섹시스님 14/05/28 16:26 313 0
    50
    와치독스 짤막소감 섹시스님 14/05/27 16:03 286 1
    49
    와치독스를 샀다. [3] 섹시스님 14/05/27 09:08 241 2
    48
    발톱에 멍이 들었는데 어떡하나요? 섹시스님 14/05/20 15:59 17 0
    47
    와치독스 이 사양에 돌아갈까요? [10] 섹시스님 14/05/15 12:48 101 0
    46
    test 섹시스님 14/05/05 17:04 21 1
    45
    자바 string 변수를 다른 클래스에서 어떻게 해야 사용할수 있나요? [5] 섹시스님 14/04/30 13:49 29 0
    44
    자바 actionlistener 관련 질문입니다 (jframe) [1] 섹시스님 14/04/30 11:07 17 0
    42
    하아.... 에세이쓰는데 전기가 나갔어요 [5] 애널써커. 14/04/10 16:35 46 0
    39
    북미섭 접속문제 [2] 애널써커. 14/03/11 22:38 64 0
    38
    ssd 브라켓 [2] 애널써커. 14/02/15 04:13 47 0
    최빈값 알고리즘과 2차원 배열의 문제... [1] 애널써커. 14/02/14 08:33 42 0
    [◀이전10개] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈