728x90
JAVA
public class App {
public static void main(String[] args) throws Exception {
//[1] Input
int [] numbers = {1,2,3,4,5,6,7,8,9,10,11,12}; //์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์๋ค๊ณ ๊ฐ์
int N = numbers.length; //์์ฌ์ฝ๋
int search = 7;//๊ฒ์ํ ๋ฐ์ดํฐ
boolean flag = false; //์ฐพ์์ผ๋ฉด true
int index = -1; //์ฐพ์ ์์น(์ธ๋ฑ์ค)
//[2] Process : ์ด์ง ๊ฒ์ (Binary Search)
int min = 0;
int max = N - 1;
while (min <= max) {
int mid = max + min / 2;
if (numbers[mid] == search) {
flag = true;
index = mid;
break;
} else if (numbers[mid] < search) {
min = mid + 1;
} else if (numbers[mid] > search) {
max = mid - 1;
}
}
//[3] Output
if(flag) {
System.out.println(search+"๋ฅผ"+ index +"์์น์์ ์ฐพ๋ค!");
} else {
System.out.println("์ฐพ์ง ๋ชปํ๋ค!");
}
}
}
ํ์ด์ฌ
def main():
#[1] Input
data = [1,2,3,4,5,6,7,8,9,10]
N = len(data) #์์ฌ์ฝ๋
search = 7
min = 0
max = N-1
flag = False
index = -1
#[2] Process
while min <= max:
mid = int((min+max)/2)
if data[mid] == search:
flag = True
index = mid
break
if data[mid] > search:
max = mid -1
if data[mid] < search:
min = mid + 1
#[3] Output
if flag:
print(f"{search}์ ์ธ๋ฑ์ค๋ {index}")
if __name__ == '__main__':
main()
728x90
'Java & Spring > Java Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ][์๋ฐ] ์ต๋น๊ฐ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.01.07 |
---|---|
[JAVA][Python][์๊ณ ๋ฆฌ์ฆ] ๋ณํฉ ์๊ณ ๋ฆฌ์ฆ ; ๋จธ์ง (0) | 2022.12.29 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.19 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์์ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.19 |
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๊ทผ์ฟ๊ฐ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.12.17 |