인프런 커뮤니티 질문&답변

이효민님의 프로필 이미지
이효민

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-G

2-G_ 2910 빈도 정렬 변수

작성

·

276

0

안녕하세요 큰돌님!

 

저는 처음 입력을 받을때 그냥 a라는 int를 통해 입력을 받았고 결과도 잘 나왔습니다.
전체 코드 링크:http://boj.kr/9b27f7b5e206448296677cba46683e86

int main (){

cin >> n >> m;

for(int i=0; i<n; i++){

cin >> a;

mp[a]++;

if(mp_first[a]==0) mp_first[a]=i+1;

}

그런데 큰돌님은 여기서 왜 굳이 입력 받으실때 a[1004] 배열로 받으셨는지 궁금합니다!

int n, c, a[1004];

int main(){

ios_base::sync_with_stdio(false);

cin.tie(NULL); cout.tie(NULL);

cin >> n >> c;

for(int i = 0; i < n; i++){

cin >> a[i];mp[a[i]]++;

if(mp_first[a[i]] == 0) mp_first[a[i]] = i + 1;

}

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 효민님 ㅎㅎ

 

저는 처음 입력을 받을때 그냥 a라는 int를 통해 입력을 받았고 결과도 잘 나왔습니다.
>> 이렇게 하셔도 됩니다. 저 arr는 아마 많은 문제 한꺼번에 풀면서 생긴 부분인 것 같아요.

보통

#include <bits/stdc++.h>
using namespace std;  
typedef long long ll;
const ll INF = 1e18;   
int a[1004];

이런식으로 기본값 복붙해놓고 많은 문제를 한꺼번에 풀곤 하거든요. ㅎㅎ

 

효민님이 짜신 코드가 더 효율적인 코드라고 보시면 됩니다. ㅎㅎ



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


이효민님의 프로필 이미지
이효민

작성한 질문수

질문하기