중급 테스트 3
$array = Array();
$array[1] = array('title'=>'메뉴1', 'up_key'=>0);
$array[2] = array('title'=>'메뉴1-1', 'up_key'=>1);
$array[3] = array('title'=>'메뉴1-2', 'up_key'=>1);
$array[4] = array('title'=>'메뉴1-3', 'up_key'=>1);
$array[5] = array('title'=>'메뉴1-1-1', 'up_key'=>2);
$array[6] = array('title'=>'메뉴1-1-2', 'up_key'=>2);
$array[7] = array('title'=>'메뉴1-1-3', 'up_key'=>2);
$array[8] = array('title'=>'메뉴1-2-1', 'up_key'=>3);
$array[9] = array('title'=>'메뉴1-2-2', 'up_key'=>3);
$array[10] = array('title'=>'메뉴1-2-3', 'up_key'=>3);
$array[11] = array('title'=>'메뉴1-3-1', 'up_key'=>4);
$array[12] = array('title'=>'메뉴1-3-2', 'up_key'=>4);
$array[13] = array('title'=>'메뉴1-3-3', 'up_key'=>4);
$array[1] = array('title'=>'메뉴1', 'up_key'=>0);
$array[2] = array('title'=>'메뉴1-1', 'up_key'=>1);
$array[3] = array('title'=>'메뉴1-2', 'up_key'=>1);
$array[4] = array('title'=>'메뉴1-3', 'up_key'=>1);
$array[5] = array('title'=>'메뉴1-1-1', 'up_key'=>2);
$array[6] = array('title'=>'메뉴1-1-2', 'up_key'=>2);
$array[7] = array('title'=>'메뉴1-1-3', 'up_key'=>2);
$array[8] = array('title'=>'메뉴1-2-1', 'up_key'=>3);
$array[9] = array('title'=>'메뉴1-2-2', 'up_key'=>3);
$array[10] = array('title'=>'메뉴1-2-3', 'up_key'=>3);
$array[11] = array('title'=>'메뉴1-3-1', 'up_key'=>4);
$array[12] = array('title'=>'메뉴1-3-2', 'up_key'=>4);
$array[13] = array('title'=>'메뉴1-3-3', 'up_key'=>4);
$array[14] = array('title'=>'메뉴2', 'up_key'=>0);
$array[15] = array('title'=>'메뉴2-1', 'up_key'=>14);
$array[16] = array('title'=>'메뉴2-2', 'up_key'=>14);
$array[17] = array('title'=>'메뉴2-3', 'up_key'=>14);
$array[18] = array('title'=>'메뉴2-1-1', 'up_key'=>15);
$array[19] = array('title'=>'메뉴2-1-2', 'up_key'=>15);
$array[20] = array('title'=>'메뉴2-1-3', 'up_key'=>15);
$array[21] = array('title'=>'메뉴2-2-1', 'up_key'=>16);
$array[22] = array('title'=>'메뉴2-2-2', 'up_key'=>16);
$array[23] = array('title'=>'메뉴2-2-3', 'up_key'=>16);
$array[24] = array('title'=>'메뉴2-3-1', 'up_key'=>17);
$array[25] = array('title'=>'메뉴2-3-2', 'up_key'=>17);
$array[26] = array('title'=>'메뉴2-3-3', 'up_key'=>17);
$array[27] = array('title'=>'메뉴3', 'up_key'=>0);
$array[28] = array('title'=>'메뉴3-1', 'up_key'=>27);
$array[29] = array('title'=>'메뉴3-2', 'up_key'=>27);
$array[30] = array('title'=>'메뉴3-3', 'up_key'=>27);
$array[31] = array('title'=>'메뉴3-1-1', 'up_key'=>28);
$array[32] = array('title'=>'메뉴3-1-2', 'up_key'=>28);
$array[33] = array('title'=>'메뉴3-1-3', 'up_key'=>28);
$array[34] = array('title'=>'메뉴3-2-1', 'up_key'=>29);
$array[35] = array('title'=>'메뉴3-2-2', 'up_key'=>29);
$array[36] = array('title'=>'메뉴3-2-3', 'up_key'=>29);
$array[37] = array('title'=>'메뉴3-3-1', 'up_key'=>30);
$array[38] = array('title'=>'메뉴3-3-2', 'up_key'=>30);
$array[39] = array('title'=>'메뉴3-3-3', 'up_key'=>30);
다음과 같은 메뉴의 정보를 저장한 배열이 있습니다.
각 메뉴에는 고유의 키값을 가지며, 자신의 바로 상위 메뉴의 키값을 up_key 에 저장하고 있습니다.
최상위 메뉴의 up_key 는 0 입니다.
메뉴는 무한 확장된다는 전제가 있습니다.
1. 임의의 메뉴키값을 받았을때 그 메뉴의 최상위 메뉴의 배열을 가져오는 함수를 만드세요.
2. 임의의 메뉴키값을 받았을때 그 메뉴의 바로 밑(한 단계밑 만)의 메뉴들을 배열로 모두 가져오는 함수를 만드세요.
내장함수의 제한은 없습니다.
댓글 9개
14년 전
이걸 자바스크립트 만들면, 유용하게 쓸수가 있습니다.
14년 전
제가 저 메뉴 배열 일일이 찍는다고 힘들엇습니다 ㅠㅠ
TopSchooL
14년 전
일좀해야되서 일단 1번 문제만
function parent_key_return($up_key,$array){
if($array[$up_key][up_key] == 0){
return $array[$up_key];
}
if($array[$up_key][up_key] != 0){
parent_key_return($array[$up_key][up_key],$array);
}
}
$up_key = 29;
$parent = parent_key_return($up_key,$array);
print_r($parent);
function parent_key_return($up_key,$array){
if($array[$up_key][up_key] == 0){
return $array[$up_key];
}
if($array[$up_key][up_key] != 0){
parent_key_return($array[$up_key][up_key],$array);
}
}
$up_key = 29;
$parent = parent_key_return($up_key,$array);
print_r($parent);
14년 전
오늘은 인기 없군요...
의욕 떨어지는데...
난이도가 너무 낮아서 그런가....
의욕 떨어지는데...
난이도가 너무 낮아서 그런가....
14년 전
벙개에 쏠리는 바람에 ...
도~~~~~전
도~~~~~전
14년 전
/**
* 임의의 메뉴키값을 받았을때 그 메뉴의 최상위 메뉴의 배열을 가져오는 함수를 만드세요.
**/
function get_menu_parent($array,$key){
if(!isset($array[$key])) return false;
while($key !== 0){
if($array[$key]['up_key'] == 0) break;
$key = $array[$key]['up_key'];
}
return $array[$key];
}
/**
* 임의의 메뉴키값을 받았을때 그 메뉴의 바로 밑(한 단계밑 만)의 메뉴들을
* 배열로 모두 가져오는 함수를 만드세요.
**/
function get_menu_child($array,$key){
if(!isset($array[$key])) return false;
foreach($array as $k => $v){
$_tmp[$v['up_key']][] = $k;
}
foreach($_tmp[$key] as $k => $v){
$result[] = $array[$v];
}
return $result;
}
print_r( get_menu_parent($array,32) );
print_r( get_menu_child($array,27) );
일에 바쁘다고 참여를 못했네요. 얼릉 하고.. 퇴근을 ㅎㅎ
* 임의의 메뉴키값을 받았을때 그 메뉴의 최상위 메뉴의 배열을 가져오는 함수를 만드세요.
**/
function get_menu_parent($array,$key){
if(!isset($array[$key])) return false;
while($key !== 0){
if($array[$key]['up_key'] == 0) break;
$key = $array[$key]['up_key'];
}
return $array[$key];
}
/**
* 임의의 메뉴키값을 받았을때 그 메뉴의 바로 밑(한 단계밑 만)의 메뉴들을
* 배열로 모두 가져오는 함수를 만드세요.
**/
function get_menu_child($array,$key){
if(!isset($array[$key])) return false;
foreach($array as $k => $v){
$_tmp[$v['up_key']][] = $k;
}
foreach($_tmp[$key] as $k => $v){
$result[] = $array[$v];
}
return $result;
}
print_r( get_menu_parent($array,32) );
print_r( get_menu_child($array,27) );
일에 바쁘다고 참여를 못했네요. 얼릉 하고.. 퇴근을 ㅎㅎ
14년 전
function get_root_menu($array, $k){
if (empty($array[$k])) return Array();
$up_key = $array[$k]['up_key'];
if ($up_key == 0) return array_merge(array('key'=>$k), $array[$k]);
else return get_root_menu($array, $up_key);
}
function get_sub_menu($array, $k){
if (empty($array[$k])) return Array();
$return = Array();
foreach($array as $sk=>$v){
if ($v['up_key'] == $k) $return[] = array_merge(array('key'=>$sk), $v);
}
return $return;
}
print_r(get_root_menu($array, 39));
print_r(get_sub_menu($array, 15));
if (empty($array[$k])) return Array();
$up_key = $array[$k]['up_key'];
if ($up_key == 0) return array_merge(array('key'=>$k), $array[$k]);
else return get_root_menu($array, $up_key);
}
function get_sub_menu($array, $k){
if (empty($array[$k])) return Array();
$return = Array();
foreach($array as $sk=>$v){
if ($v['up_key'] == $k) $return[] = array_merge(array('key'=>$sk), $v);
}
return $return;
}
print_r(get_root_menu($array, 39));
print_r(get_sub_menu($array, 15));
14년 전
우후훗~
14년 전
고수님들 호스팅 신청 게시판이나 만들어 올려주삼~
무료호스팅 사이트 하나 만들겟삼~
트레픽 스킨도 있었는데 지웠더만요;
호스팅 신청 스킨, 도매인 검색 스킨, 트레픽스킨 3가지가 스킨에 안올라 오네오...
호스팅 신청 스킨은 있는데 오류나고~~~
대머리 냐고요? 공짜 스킨 좋아해도 머리숫은 많답니다. ㅎ~
무료호스팅 사이트 하나 만들겟삼~
트레픽 스킨도 있었는데 지웠더만요;
호스팅 신청 스킨, 도매인 검색 스킨, 트레픽스킨 3가지가 스킨에 안올라 오네오...
호스팅 신청 스킨은 있는데 오류나고~~~
대머리 냐고요? 공짜 스킨 좋아해도 머리숫은 많답니다. ㅎ~
게시글 목록
| 번호 | 제목 |
|---|---|
| 2372 | |
| 25946 | |
| 14575 |
jQuery
jquery 질문하나만 부탁드립니다.
5
|
| 2367 | |
| 29773 | |
| 2358 | |
| 2354 | |
| 2350 | |
| 29770 | |
| 29766 |
HTML
자바스크립트 정규식 질문 드립니다
3
|
| 24173 | |
| 2345 | |
| 25942 | |
| 25939 | |
| 29764 | |
| 14571 |
jQuery
jQuery 샘플자료들이 많군요
3
|
| 14567 | |
| 14561 |
JavaScript
css관련 질문입니다!
5
|
| 24172 | |
| 29763 | |
| 14556 |
JavaScript
관계연산자?
4
|
| 14550 |
JavaScript
select 를 스크립트 질문이요.
5
|
| 14549 | |
| 2332 | |
| 14544 | |
| 14535 |
JavaScript
php함수에 setTimeout 비스꾸무리한게 있나요?
8
|
| 14534 | |
| 14529 | |
| 2318 | |
| 2313 | |
| 2311 | |
| 14526 |
JavaScript
제로보드&그누보드 구별법
2
|
| 14522 | |
| 29761 | |
| 25938 | |
| 29759 |
HTML
소스가 안되서 질문을 좀 드려요
1
|
| 2297 | |
| 2281 | |
| 25936 | |
| 14521 | |
| 14514 |
MySQL
트렌젝션 문의
6
|
| 24167 | |
| 25935 | |
| 2266 | |
| 14513 |
JavaScript
특정사용자 소유의 모든파일 찾기
|
| 14512 | |
| 2257 | |
| 2230 | |
| 14511 | |
| 25926 |
계약서
유지보수 계약서
8
|
| 14503 | |
| 2224 | |
| 25922 | |
| 25920 | |
| 2211 | |
| 14500 | |
| 2209 | |
| 14499 | |
| 24158 | |
| 2204 | |
| 14491 | |
| 2197 | |
| 14490 |
jQuery
Jquery + me2day 검색
|
| 14489 |
jQuery
Jquery + me2day 검색
|
| 2189 | |
| 24155 | |
| 14487 |
MySQL
mysql 데이터 파일 체크하기
1
|
| 14486 | |
| 25916 | |
| 2185 | |
| 29757 |
HTML
제이쿼리 부문 질문입니다.
1
|
| 24154 | |
| 25913 | |
| 29755 | |
| 14484 | |
| 2181 | |
| 2164 | |
| 25907 | |
| 2163 | |
| 2153 | |
| 2149 | |
| 2145 | |
| 2130 | |
| 2116 | |
| 2107 | |
| 2103 | |
| 29753 | |
| 14483 |
JavaScript
view.skin.php 파일 하나 만들어 주시면 안될까요?
|
| 2099 | |
| 2039 | |
| 29750 | |
| 2021 | |
| 2015 | |
| 2006 | |
| 14482 | |
| 1989 | |
| 1972 | |
| 1969 | |
| 14481 | |
| 1963 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기