๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋…์ •๋ฆฌ(JAVA)

์„ ํ˜• ๊ฒ€์ƒ‰๊ณผ ๋ณด์ดˆ๋ฒ•

๐Ÿ”Ž๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์—‡์ธ๊ฐ€?

๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์˜๋ฏธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ์ˆ˜์ง‘ ๋œ ์—ฌ๋Ÿฌ ์•„์ดํ…œ ์ค‘์—์„œ ํŠน์ • ์„ฑ์งˆ ํ˜น์€ ํ‚ค ๊ฐ’์„ ๊ตฌ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€

  • ์ƒ๋Œ€์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„
  • ํ™œ์šฉ ์šฉ๋„๋‚˜ ๋ชฉ์ , ์ž๋ฃŒ๊ตฌ์กฐ ๋“ฑ ์ฒด๊ณ„์ ์ธ ๋ถ€๋ถ„
  • ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ ๋“ฑ ์ž‘์—…์— ์†Œ์š”๋˜๋Š” ๋น„์šฉ

๋งŒ์•ฝ ์–ด๋–ค ๋ชฉ์ ์„ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ ์šฉ๋„๋‚˜ ๋ชฉ์ , ์‹คํ–‰ ์†๋„, ์ž๋ฃŒ๊ตฌ์กฐ ๋“ฑ์„ ์ž˜ ๊ณ ๋ คํ•˜์—ฌ ์ž‘์—…์— ์†Œ์š”๋˜๋Š” ๋น„์šฉ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜์—ฌ ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜์—ฌ ๊ทธ ์ƒํ™ฉ์˜ ๋ฌธ์ œ์— ์ ์šฉ์„ ์ž˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ˆ์„ ํ˜• ๊ฒ€์ƒ‰์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

์„ ํ˜• ๊ฒ€์ƒ‰์€ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋œ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค. ์š”์†Œ๊ฐ€ ์ง์„  ๋ชจ์–‘์œผ๋กœ ๋Š˜์–ด์„  ๋ฐฐ์—ด์—์„œ ์›ํ•˜๋Š” ํ‚ค ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ๋งจ ์•ž์—์„œ ์ˆœ์„œ๋Œ€๋กœ ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์„ ํ˜• ๊ฒ€์ƒ‰ ๋˜๋Š” ์ˆœ์ฐจ ๊ฒ€์ƒ‰์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. 

int ์ •์ˆ˜์—ด ๋ฐฐ์—ด์—์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ์ˆซ์ž 2๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ณผ์ • - ๊ฒ€์ƒ‰ ์„ฑ๊ณต

์œ„์˜ ์‚ฌ์ง„์€ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐฐ์—ด ์†์—์„œ ์ˆซ์ž '2'๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์ˆœ์ฐจ์ ์œผ๋กœ 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋†’์€ ์ธ๋ฑ์Šค ๊ฐ’์œผ๋กœ ์ด๋™ํ•˜๋ฉด์„œ '2'๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ์‚ฌ์ง„์€ ๋ฐฐ์—ด์— ์ฐพ๋Š” ๊ฐ’์ธ '2'๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ ์„ ํ˜• ๊ฒ€์ƒ‰ ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ์—ด ์†์—์„œ ์ฐพ๋Š” ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์ด๋ฒˆ์—๋Š” ์œ„์˜ ๋ฐฐ์—ด์—์„œ ์ˆซ์ž '5'๋ฅผ ์ฐพ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

int ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์—์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ์ˆซ์ž 5๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ณผ์ • - ๊ฒ€์ƒ‰ ์‹คํŒจ

์˜ˆ์ƒํ•œ ๊ฒฐ๊ณผ์™€ ๊ฐ™์ด ์œ„์˜ ๋ฐฐ์—ด์—๋Š” ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ธ 5๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๋ชจ๋‘ ์ฐพ์•„๋ณด์•„๋„ ๊ทธ ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ํ•œ ์นธ์”ฉ ์˜ฎ๊ธฐ๋ฉด์„œ ๊ตฌ์„ฑํ•˜๋˜ ์ธ๋ฑ์Šค์˜ ๊ฐ’์ด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ์™€ ๊ฐ’์ด ๊ฐ™๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ ๊ฒ€์ƒ‰ ์‹คํŒจ์ž…๋‹ˆ๋‹ค.

๐ŸŽ‰ ์„ ํ˜• ๊ฒ€์ƒ‰์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์€?

์„ ํ˜• ๊ฒ€์ƒ‰์˜ ์ข…๋ฃŒ ์กฐ๊ฑด

1. ๊ฒ€์ƒ‰ํ•  ๊ฐ’๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๋ฐœ๊ฒฌํ•œ ๊ฒฝ์šฐ(๊ฒ€์ƒ‰ ์„ฑ๊ณต)

2. ๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฐฐ์—ด์˜ ๋์„ ์ง€๋‚˜๊ฐ„ ๊ฒฝ์šฐ(๊ฒ€์ƒ‰ ์‹คํŒจ)

 ์„ ํ˜• ๊ฒ€์ƒ‰์˜ ์ข…๋ฃŒ ์กฐ๊ฑด 1๊ณผ 2๋ฅผ ํŒ๋‹จํ•˜๋Š” ์„ ํ˜• ๊ฒ€์ƒ‰์˜ ๊ฒ€์ƒ‰ ํŒ๋‹จ ํšŸ์ˆ˜๋Š” ๋ฐฐ์—ด์˜ ์š”์†Ÿ์ˆ˜๊ฐ€ n๊ฐœ์ผ ๋•Œ ํ‰๊ท  n/2ํšŒ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ป ์„ ํ˜• ๊ฒ€์ƒ‰์„ ๊ตฌํ˜„ํ•ด๋ณด์ž!

public class SeqSearch {
    public static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        System.out.print("์š”์†Ÿ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : "); int input = scanner.nextInt();
        int[] arr = new int[input];
        setArr(arr);

        System.out.print("๋ฐฐ์—ด์—์„œ ๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : "); int searchInput = scanner.nextInt();
        int index = findArr(arr, searchInput);

        if(index == -1) System.out.println("์ฐพ์œผ์‹œ๋Š” ๊ฐ’์€ ๋ฐฐ์—ด์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.");
        else System.out.println("์ฐพ์œผ์‹œ๋Š” ๊ฐ’์€ ๋ฐฐ์—ด x[" + index + "]์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.");
    }
    public static void setArr(int[] arr){
        for(int i = 0; i < arr.length; i++){
            System.out.print("๋ฐฐ์—ด์˜ x[" + i + "]์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : ");
            arr[i] = scanner.nextInt();
        }
    }
    public static int findArr(int[] arr, int searchInput){
        for(int i = 0; i < arr.length; i++) if(arr[i] == searchInput) return i;
        return -1;
    }
}

๋จผ์ €, ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐ์—ด์˜ ์š”์†Œ์ˆ˜ ์ฆ‰ ํฌ๊ธฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ทธ ํฌ๊ธฐ์— ๋งž๊ฒŒ int ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๊ฐ๊ฐ ์ž…๋ ฅ์„ ํ•˜์—ฌ ๋ฐฐ์—ด์— ์ €์žฅ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์— ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ž…๋ ฅ์„ ๋ฐ›์•˜๋‹ค๋ฉด ์ตœ์ข…์ ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐ์—ด์—์„œ ๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ๋Š” ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 0๋ฒˆ์งธ๋ถ€ํ„ฐ ๊ทธ ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด ๋ฐฐ์—ด์— ์กด์žฌํ•œ๋‹ค๋ฉด ๊ทธ ๊ฐ’์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋งŒ์•ฝ ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ชจ๋‘ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜์˜€์œผ๋‚˜ ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด findArr ๋งค์„œ๋“œ์˜ for๋ฌธ์„ ํƒˆ์ถœํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ์ˆซ์ž -1์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฒ€์ƒ‰ ์‹คํŒจ๋ฅผ ์˜๋ฏธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽฏ ๋ณด์ดˆ ๋ฒ•์ด ๋Œ€์ฒด ๋ญ์•ผ?

๋ณด์ดˆ ๋ฒ•์€ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•  ๋•Œ ํ•จ๊ป˜ ์‚ฌ์šฉ์„ ํ•œ๋‹ค๋ฉด ํšจ์œจ์„ฑ์ด ์žˆ๋Š” ๊ธฐ์ˆ ?, ๋ฐฉ๋ฒ•?์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์—์„œ ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์€ ์ด 2๊ฐ€์ง€์˜€๋‹ค. ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ์ ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋น„์šฉ์€ ๊ฒฐ์ฝ” ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋น„์šฉ์„ ์ค„์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด์ดˆ ๋ฒ•์„ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ๋ณด์ดˆ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ๋ณด์ดˆ ๊ฐ’์ด ์ถ”๊ฐ€ ๋˜์–ด์žˆ๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. (๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๊ณต)

๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ๋ณด์ดˆ ๊ฐ’์ด ์ถ”๊ฐ€ ๋˜์–ด์žˆ๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. (๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๊ณต)

 

๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ๋ณด์ดˆ ๊ฐ’์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. (๋ณด์ดˆ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๊ณต)

 

 

๋ณด์ดˆ ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ๋ฐฐ์—ด์—์„œ ์š”์†Ÿ์ˆ˜๋ฅผ 1์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐ์—ด ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ์‚ฌ์šฉ์ž๊ฐ€ ์ฐพ๋Š” ๊ฐ’์„ ์ €์žฅํ•ด๋‘ก๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„ ํ˜• ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ’์„ ์ฐพ๊ฒŒ ๋  ๊ฒƒ์ด๋ฉฐ ๊ฒ€์ƒ‰ ์กฐ๊ฑด 2๋ฒˆ ๋ฐฐ์—ด์—์„œ ๊ฐ’์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฐฐ์—ด์˜ ๋์„ ์ง€๋‚˜๊ฐ„ ๊ฒฝ์šฐ๋Š” ์ด์ œ ์กด์žฌํ•˜์ง€ ์•Š๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๊ฒ€์ƒ‰ ์‹คํŒจ์˜ ๊ฒฝ์šฐ๋Š” ์•ž์œผ๋กœ ์กด์žฌํ•  ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ตœ์ข…์ ์œผ๋กœ ์ €ํฌ๋Š” ์ด์ œ ์„ ํ˜• ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์ฐพ์€ ๊ฐ’์ด ๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์ธ์ง€ ๋˜๋Š” ๋ณด์ดˆ๋กœ ์„ค์ •ํ•ด๋‘” ํŠน์ •์˜ ๊ฐ’์ธ์ง€ ๊ตฌ๋ณ„๋งŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ์„ ํ˜• ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋น„์šฉ์„ 50%๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ์–ด ๋”์šฑ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

๐Ÿ“† ๋ณด์ดˆ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋ณด์ž!

์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์œ„์—์„œ ์˜ˆ๊ธฐํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๊ฒƒ์—์„œ 1 ํฌ๊ฒŒ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๋ฐฐ์—ด ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์— ์‚ฌ์šฉ์ž๊ฐ€ ์ฐพ๋Š” ๊ฐ’์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฒ€์ƒ‰ ์‹คํŒจ๋Š” ์ ˆ๋Œ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ๋งค๋ฒˆ ๊ฒ€์ƒ‰ ์„ฑ๊ณต์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ๊ทธ ๊ฒ€์ƒ‰ ์„ฑ๊ณต์˜ ๊ฐ’์ด ๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ ๊ฐ’์ธ์ง€ ๋˜๋Š” ๋ณด์ดˆ์˜ ๊ฐ’์ธ์ง€ ํŒ๋‹จ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒ๋‹จ์˜ ๊ธฐ์ค€์€ ์ธ๋ฑ์Šค ๊ฐ’์œผ๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๊ทธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์ด ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ผ๋ฉด ์ฐพ์€ ๊ฐ’์€ ๋ณด์ดˆ์˜ ๊ฐ’์ด๋ฉฐ -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๊ธฐ์กด์˜ ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ ๊ฐ’์ด๋ฏ€๋กœ ๊ทธ ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ ํ†ตํ•ด ์ €ํฌ๋Š” ์ฐพ์€ ๊ฐ’์˜ ๊ฒ€์ƒ‰ ์„ฑ๊ณต, ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public class SeqSearchSen {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("์š”์†Ÿ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : "); int num = scanner.nextInt();
        int arr[] = new int[num + 1];

        for(int i = 0; i < num; i++){
            System.out.println("๋ฐฐ์—ด x[" + i + "] : ");
            arr[i] = scanner.nextInt();
        }

        System.out.println("๊ฒ€์ƒ‰ํ•  ๊ฐ’์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” : "); int ky = scanner.nextInt();
        int idx = seqSearchSen(arr, num, ky);

        if(idx == -1) System.out.println("๋ฐฐ์—ด์—์„œ ๊ฒ€์ƒ‰ํ•˜์‹  ๊ฐ’์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.");
        else System.out.println(ky + "์€(๋Š”) ๋ฐฐ์—ด x[" + idx + "]์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.");
    }

    public static int seqSearchSen(int arr[], int num, int key){
        int i = 0;
        arr[num] = key;

        while(true){
            if(arr[i] == key) break;
            i++;
        }
        return i == num ? -1 : i;
    }
}

'๊ฐœ๋…์ •๋ฆฌ(JAVA)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํด๋ž˜์Šค  (0) 2024.03.27
๋ฐฐ์—ด๊ณผ ์•„๊ทœ๋จผํŠธ  (0) 2024.03.27
์ œ์–ด๋ฌธ  (0) 2024.03.13
๋…ผ๋ฆฌํ˜• ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ž  (0) 2024.03.13
Enum  (0) 2024.03.13