Machineboy空

백준 2562: 최댓값 / 알고리즘: 최단 거리 갱신 본문

Computer/Coding Test

백준 2562: 최댓값 / 알고리즘: 최단 거리 갱신

안녕도라 2023. 9. 6. 20:47
    private void UpdateSearch()
    {
        // Scene에 배치된 타워들을 모두 찾아서 
        GameObject[] towers = GameObject.FindGameObjectsWithTag("Tower");

        // 최단거리, 선택배열번호
        float distance = float.MaxValue;
        int chooseIndex = -1;	//index로 들어갈 수 없는 -1을 넣는다.

        for (int i = 0; i < towers.Length; i++)
        {
            // 타워와 나와의 거리를 재고
            float temp = Vector3.Distance(towers[i].transform.position, transform.position);
            // 그 거리가 최단거리보다 작다면
            if (temp < distance)
            {
                // 최단거리를 갱신하고 선택배열번호를 갱신하고싶다.
                distance = temp;
                chooseIndex = i;
            }
        }
        // 나와 가장 가까운 타워를 기억하고싶다.
        if (chooseIndex != -1)
        {
            // 기억했다면
            target = towers[chooseIndex].transform;
            // 나의 상태를 Move상태로 전이하고싶다.
            state = State.Move;
        }
    }

point1)  distance와 temp 빈 공간 적절한 활용

using System;
using System.Text;

namespace CodingTestForBaekJoon
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] ints = new int[9];

            int max = 0;
            int idx = 0;

            for (int i = 0; i < 9; i++)
            {
                ints[i] = int.Parse(Console.ReadLine());
            }

            for (int i = 0; i < ints.Length; i++)
            {
                if (ints[i] > max)
                {
                    max = ints[i];
                    idx = i+1;
                }
            }

            Console.WriteLine(max);
            Console.WriteLine(idx);
        }       
    }
}

포인트)