Re:제로부터 시작하는 경기 프로그래밍 생활 제1장 1 「C++밖에 사용할 수 없다」

소개



본 기사는 프로그래밍 젊은 잎 마크를 가슴에 붙인 엔지니어 지망의 나, OT가 At.Coder에서 출제된 경기 프로그래밍의 문제를 죽음으로 돌아가(리트라이)를 반복해 풀어 가는, 눈물 없이는 읽을 수 없는 장편 Part식 기사입니다.
도중에 절망하고 실종할지도 모릅니다만, 적어도 취직이 정해질 때까지는 해 가고 싶다고 생각하고 있습니다! !

우선 간단한 프로필



이름: OT
프로그래밍 경력:3개월(TECH::EXPERT63기)
사용할 수 있는 언어: Ruby(Rails로 간단한 웹사이트를 만들 수 있는 레벨), C#(Unity로 간단한 오셀로를 만들 수 있는 레벨), Python("Hello World"레벨)
좋아하는 연예인: Gacky

첫 적



그럼, 아무런 문맥도 없지만 조속히 문제를 풀어 갑니다. 웃음
처음이므로 가장 간단한 A - Rounding으로 경험치를 쌓아가는 산단.
그렇다면 기념해야 할 첫 번째 질문입니다! !

문제문
X,A는 0 이상 9 이하의 정수입니다.
X가 A 미만일 때 0, A 이상일 때 10을 출력해 주십시오.

제약
0≤X,A≤9
입력은 모두 정수입니다.

... 엄청 쉽지 않아! ?
언어는 연습을 겸해 Python을 사용해 보았습니다. 완전히 핥고 있습니다.
이것이 늪에의 입구임에도 불구하고 ...

절망의 파이썬, 희망의 C++


x = int
a = int

if x < a:
  print("0")
else:
  print("10")

「일단 코드는 이것으로 좋을 것입니다」
그렇게 중얼거리고, 나는 "Python은 편하구나~"라고 생각하면서 코드를 제출한 몇 초 후, 에러문을 보고 자신의 생각의 어리석음을 깨달았다.

「int형의 변수라고 비교할 수 없는지 orz」

변수에 그대로 실수를 넣어 보면 에러없이 작동했기 때문에, Input()로 수치를 입력받고 나서 비교하는 형식으로 하려고 코드를 변경
x = input()
a = input()
y = int(x)
b = int(a)

if y < b:
  print("0")
else:
  print("10")

여전히 같은 오류.
이 후 몇 번이나 재 시도하고 Ruby와 C#에서도 작성해 보았지만 비슷한 오류로 정답에는 이르지 않고, 내 마음이 절망에 물들어 간다 ...

OT「도대체 어떻게 하면 좋겠어...」

???「힘을 갖고 싶어?」

OT「그, 누구야!?」

C++ 「우리 이름은 C++. 경기 프로그래밍에서의 사용률이 가장 높은 언어의 하나이다.」

OT「(가장 높은 언어 중 하나는 뭔가 일본어 잘못된 것 같지만)…

C++ 「무론. 하지만, 마음으로 사용하는 거야. 내 기술량은 Python의 비율이 되지 않으니까」

【--C++가 동료가 되었다--】

OT「C++... 어려운 언어야. 하지만 이 사이트( h tp // cp p ぁ g. 세즈 ys-s dy. 이 m/그리고 x. HTML )에서 학습하면서 쓰면 어떻게든 될지도 모른다!!」

↓ 이렇게 동료가 된 C++를 사용해 쓴 코드가 이쪽↓
#include <bits/stdc++.h>
using namespace std;

int main() {
  int X, A;
  cin >> X >> A;
  if (X < A){
    cout << "0";
  }
  else {
    cout << "10";
  } 
  return 0;
}

제출하고 무사히 AC(정답)을 받을 수 있었습니다! ! 88888888888888888888


이것이 이번 죽음으로 돌아가 히스토리 ... 시작부터 클라이맥스였다 ()

마지막으로



C++는 쓰는 경우가 많고, 여러가지 사이트에서 습득 난이도가 높게 쓰여져 있지만, 쓰기가 좋을지도 모른다.
그리고, 기술량이 많다고 하는 것은 그만큼 자신의 생각대로의 처리를 실행할 수 있는 메리트이기도 할지도 모른다고 느꼈습니다.

그리고 이것이 파이썬이라면 어떻게 쓰면 정답이 될지 알고 계시다면 알려주세요. m (_ _) m

친절하게 읽어 주셔서 감사합니다! !

좋은 웹페이지 즐겨찾기