C문제복습~AtCoder Beginner Contest 참전록 #3

소개



사내외의 우수한 엔지니어들로부터 「기술 토크가 다소 아는 채용 담당」으로서 신뢰를 얻는 것을 목표로, AtCoder Beginner Contest(통칭 ABC)에 참가하고 있다.

경위는 기사 엔지니어로부터 신뢰받는 인사를 목표로 ~ AtCoder Beginner Contest 참전록 #1 - Qiita에 철자했다.

폐사 프런트 엔드에서 사용되고 있는 JavaScript를 사용해 5회 참가했더니, 모두에서 A, B 문제까지라는 결과에 끝났다. B문제의 난이도는 Fizz Buzz와 동등하다는 것이다1.

C문제는 전혀 치아가 서지 않았던 것도 있고, 좀 더 시간이 있으면 풀릴 것 같았던 것도 있었다. 여기서 C문제를 복습해 패인을 정리하고 싶다. 이번은 2회분.

같은 C문제라고는 해도, 다소 난이도가 변동하는 일도 있는 것 같고, 각회의, 실제의 정답률로부터 인출한 난이도는 유지에 의한 비공식 사이트 AtCoder Problems 2를 참조했다.
난이도의 정의는 AtCoder가 제공하는 인적 자원 서비스 사이트을 참조했다.

AtCoder Beginner Contest C 문제 복습 Part 1



ABC 170 (6/14 개최)



C 문제 - Forbidden List


  • 난이도 : 회색 (E 랭크)

  • 접근 되감기


  • 세운 정책
  • 주어진 정수 열 p_1, ... p_n을 작은 순서로 정렬
  • 각각과 X를 비교하여 절대 값이 가장 작은 것을 찾습니다


  • 풀 수 없는 이유
  • sort() 의 생각이 이해할 수 없어 좌절(인수에 함수가 들어간다고 하는 것은··?)

    인수에 비교 함수를 지정하지 않는 경우에는 문자열로서 비교되므로 주의가 필요합니다.

    (【JavaScript 입문】 sort ()에 의한 배열 · 문자열 · 객체의 정렬 방법부터)

  • 공식 해설


  • 주어진 정수 열 p_1, ... p_n을 기점으로하는 대신 X를 기점으로 생각한다

  • 풀다


  • 요소 수를 세는 방법을 조사했다 (인수 안에 함수가 들어있는 것은 「고층 함수」라고 하는 것 같다

    ABC 171 (6/21 개최)



    3


  • 난이도 : 갈색 (D 등급)

  • 상당히 어렵다고 생각합니다. C문제로는 좀처럼. 고생한 사람도 많지 않을까 생각합니다.

    (C 문제 - One Quadrillion and One Dalmatians부터)

    접근 되감기


  • 세운 정책
  • 26 + 26^2 + ・・・라는 식이 머리에 떠있지만, 방침은 서 있지 않고

  • 풀 수없는 이유
  • 프로그램에서 무엇을 요구하는지, 문제를 설정할 수 없었다


  • Youtube 해설


  • 주어진 N 값의 최대 값에서 개 이름의 가장 긴 길이를 구합니다 → 15자
  • N 번째 개 이름의 길이가 l 문자의 이름 중에서 사전순으로 N-(26+26^2+26^3+...+26^(l-1)) 번째를 찾는다

  • 풀다


  • 배열을 선언하는 방법을 조사했습니다.
  • 공식 해설

  • ◯ 번째 알파벳을 문자열을 변환하는 방법을 모르겠어요, 포기

  • 결론



    지금까지 5회 도전한 ABC의 C문제를 단번에 복습해, 다음의 콘테스트에서 C문제까지 완답하겠다고 의지했지만 그렇게 달콤하지 않고, 이번은 2회분으로 시간 오버.

    FizzBuzz 레벨의 졸업까지 좀 더 시간이 걸릴 것 같다··



    (초보자 용) JavaScript 배열 만들기 및 초기화 - Qiita  AtCoder 대회에 대한 tips - Qiita

    멘토 역이 되어 주는 엔지니어의 친구가 가르쳐 주었다. 감사. 

      자바 스크립트 배열에서 요소를 계산하고 연관 배열로 만드는 방법 - suzu6

    좋은 웹페이지 즐겨찾기