배열

    [Concept] 배열 - 큐와 스택

    #자료구조_배열 [파이썬의 배열] 리스트 활용 1차원, 2차원까지는 알고 있으면 좋다. 같은 종류의 데이터를 순차적으로 저장한다. Q. 왜 필요한가? A. 같은 종류의 데이터를 효율적으로 관리하기 위해 사용하기 위해! [단점] 데이터 추가/삭제의 어려움 미리 최대 길이를 지정해야 하는 점 Q. Why? A. 삭제 시, 뒤에 있던 데이터를 앞당겨야하기 때문이다. [장점] 인덱스를 통해 빠른 접근 가능하다. 첫 데이터의 위치에서 상대적인 위치로 데이터에 접근(인덱스 번호로 접근)한다. # 자료구조_큐(Queue) [큐] 줄을 서는 행위와 유사 FIFO(First-In, First-Out) 또는 LILO(Last-in, Last-Out) 방식. 스택 Q.큐에 값을 넣은 상태에서, 데이터를 꺼내라는 명령을 내리..

    [1546] 평균

    [1546] 평균

    시험과목 개수 N -> N개의 int형 배열 생성 -> for문으로 int형 점수 입력 ->그 중 최댓값 M 구하기 (if문 이용) ->for문으로 배열에 있는 점수들을 모두 /M *100으로 계산하여 double형 평균 변수 avg에 넣기. -> 개수 N으로 나눈 값 출력. import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = -1; int[] subject = new int[N]; double avg=0; for (int i=0;i

    [2562] 최댓값

    [2562] 최댓값

    필요한 변수는 최댓값 max와 최댓값의 인덱스자리 maxnum, 이렇게 2개 필요하다. 그리고 for문을 돌리면서 배열에 수를 넣는 것과 동시에 최댓값도 비교해주고 만약 max보다 크면 maxnum도 다시 지정해주는 식으로 for문안에서 다 해결했다. import java.util.Scanner; public class Maximum { public static void main(String[] args) { int[] array = new int[9]; Scanner sc = new Scanner(System.in); int max=-1; int maxnum=0; for (int i=0;i

    [2446] 별찍기 - 9

    [2446] 별찍기 - 9

    실습1카테고리에 있는 문제의 거의 마지막 문제이다. (21번 문제는 앞에 별문제보다 정답률이 높아서 건너띌 것이다.) 출력 모습부터 어려워보였는데 정말 배열 하나를 생각못해서 오랜 시간을 헤맸다... 결론은 배열을 이용하면 된다. 줄은 0,1,2,3,4,5,6,7,8로 할지 0,1,2,3,4,3,2,1,0으로 할지 고민해봤는데, 조금이라도 for문에서 겹칠 것같은 0,1,2,3,4,3,2,1,0으로 하기로했다. 그리고 막연히 문제를 풀기시작하기보다 규칙을 찾아보면 더 빨리 풀수있게 된다. 규칙은 별의 개수이다. 9,7,5,3,1,3,5,7,9 순으로 나열돼있기때문에, 9,7,5,3,1을 배열에 넣을 생각을 하면 된다. 그리고 띄어쓰기 for문, 별의 개수 for문, 행 for문 등 여러 for문이 나오므..