KimMinJun
Coding Note
KimMinJun
전체 방문자
오늘
어제
  • 분류 전체보기 (487)
    • ALGORITHM (11)
      • 정렬 (6)
      • 최단경로 (1)
      • 자료구조 (1)
      • 슬라이딩 윈도우 (1)
      • etc (2)
    • Git (5)
    • Web (24)
      • Vanilla JS (13)
      • TS (2)
      • React (7)
      • ETC (1)
    • React 공식문서 (번역, 공부) (11)
      • Quick Start (2)
      • Installation (0)
      • Describing the UI (9)
      • Adding Interactivity (0)
      • Managing State (0)
      • Escape Hatches (0)
    • Next.js 공식문서 (번역, 공부) (3)
      • Getting Started (2)
      • Building Your Application (1)
    • PS (432)
      • 백준 (187)
      • Programmers (105)
      • CodeUp (21)
      • STL (3)
      • 제코베 JS 100제 (50)
      • SWEA (0)
      • LeetCode (65)
    • IT (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

인기 글

태그

  • Level 0
  • 문자열
  • C
  • 그래프
  • Level1
  • C++
  • Level 2
  • recursion
  • 정렬
  • 다이나믹 프로그래밍
  • Level 1
  • 수학
  • string
  • 제코베 JS 100제
  • 백준
  • LeetCode
  • codeup
  • js
  • tree
  • programmers

최근 댓글

최근 글

hELLO · Designed By 정상우.
KimMinJun
PS/CodeUp

CodeUp / 1차원 배열 / 1430번 / 기억력 테스트2 / C++

PS/CodeUp

CodeUp / 1차원 배열 / 1430번 / 기억력 테스트2 / C++

2020. 10. 3. 14:38

문제 설명   

주현이 엄마는 주현이를 영재로 키우기 위해 매일 혹독한 기억력 테스트를 하고 있다.

N개의 숫자를 먼저 말해주고, M개의 질문을 하면서 그 숫자가 있었는지 없었는지 테스트한다.

만약 있었다면 1을 출력하고, 없었다면 0을 출력한다.

이번에는 주현이가 좋아하는 3단 합체 변신로봇 '또봇 트라이탄'이 선물로 걸려있다.

주현이를 도와 줄수 있는 프로그램을 만드시오.

 

입력

첫째줄에 N이 입력된다. (1 <= N <= 10,000,000)

둘째 줄에 N개의 숫자가 공백으로 구분되어 차례대로 입력된다. ( 데이터값의 범위 : 1 ~ 10,000,000)

셋째줄에 질문의 수 M이 입력된다. ( 1 <= M <= 100,000)

넷째 줄에 M개의 질문이 입력된다. 

 

 

출력

M개의 각각의 질문에 대해 그 숫자가 있었으면 1을 출력, 없었으면 0을 하나씩 차례대로 출력한다.

 

입력 예시

5

2 52 23 55 100

4

5 2 55 99

 

출력 예시

0 1 1 0

 

#include <iostream>
using namespace std;

int arr[10000000] = { 0 };

int main() {
	int n, m;

	cin >> n;
	for (int i = 0; i < n; i++) {
		int temp;
		scanf("%d",&temp);
		arr[temp] = 1;
	}

	cin >> m;
	for (int i = 0; i < m; i++) {
		int temp;
		scanf("%d",&temp);
		printf("%d ",arr[temp]);
	}
}

 


가끔 이런 비슷한 유형의 문제가 보인다.

배열에 입력받는 값을 넣는게아니라, 입력받는 값을 배열의 인덱스로 생각하고, 그 인덱스에 대해 값을 조작하는 문제다.

따라서 만약 3개의 수 1,4,5를 입력 받았을시 arr[1], arr[4], arr[5]의 값을 1로 바꾸는것이다.

그리고 그 다음에 2개의 수 1,5,7을 입력 받았을시 arr[1], arr[5], arr[7]을 출력하면 1 1 0 이 출력된다.

 

여기서 중요한것은, 배열을 전역변수로 해야한다.

main에서 오버플로가 나는 것 같다.

저작자표시 (새창열림)

'PS > CodeUp' 카테고리의 다른 글

CodeUp / 1차원 배열 / 1440번 / 비교 / C++  (0) 2020.10.03
CodeUp / 1차원 배열 / 1425번 / 자리 배치 / C++  (0) 2020.10.03
CodeUp / 1차원 배열(?) / 1420번 / 3등 찾기 / C++  (0) 2020.10.03
CodeUp / 1차원 배열 / 1416번 / 2진수 변환 / C++  (2) 2020.10.03
    'PS/CodeUp' 카테고리의 다른 글
    • CodeUp / 1차원 배열 / 1440번 / 비교 / C++
    • CodeUp / 1차원 배열 / 1425번 / 자리 배치 / C++
    • CodeUp / 1차원 배열(?) / 1420번 / 3등 찾기 / C++
    • CodeUp / 1차원 배열 / 1416번 / 2진수 변환 / C++
    KimMinJun
    KimMinJun

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.