【Java】AtCoder의 ABC-200에 참가했습니다(레이트:278→264).
2021/5/8에 AtCoder의 ABC-200에 참가했습니다.
요율은 다음과 같습니다.
C문제로 집어들었습니다.
레이트는 278→264로 다운! 순위는 6646/8577이었다.
오, 아, 그, 라는 느낌이군요.
A 문제
세기를 요구하는 프로그램. 철저히 테스트해 버렸습니다만, 뭐 어떻게든.
Main.java
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println((n-1)/100+1);
}
}
B 문제
어느 숫자, N에 대해서, K회 이하의 처리를 반복한다.
· N이 200의 배수라면 200으로 나눈다.
・200의 배수가 아니면, 말미에 200을 부여한다(123이면, 123200으로 한다)
여기는 말한대로, 뭐 어떻게든.
그렇지만, 200을 부여하는데, 캐릭터 라인형으로 변환해 부여하는 것은 좋네요.
1000배로 200을 더하는 것이 똑똑하네요.
나중에 되돌아 보는 것도 중요합니다.
Main.java
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();
long k = sc.nextLong();
long nwk = n;
String nwks = String.valueOf(n);
for(int i=0;i<k;i++){
if(nwk%200==0){
nwk = nwk/200;
}else{
nwks = nwks + "200";
nwk = Long.parseLong(nwks);
}
nwks = String.valueOf(nwk);
}
System.out.println(nwk);
}
}
C 문제
N이 문자열 Ai ~ An을 입력.
Ai-Aj가 200의 배수, 이 성립하는 조합은 몇인가?
타임 아웃이라고는 알고는 있었지만, 좋은 로직이 생각하지 않고 ··입력시에, 입력 끝난 모든 캐릭터 라인을 비교하는 처리를 우선은 짜 보았습니다.
당연히 TLE.
다음으로, 아래 2자리수가 같은 것은, 「조건이 성립할 가능성이 있는 조합」이라고 생각 100개의 배열에, 하 2자리수가 같은 것을 분류해, 최후에 정리해 계산하는 방법을 취해 보았습니다만, 타임 아웃에 가세해 런타임 에러로 발생해 종료 3분전에 패배.
이었다.
감상
풀 수 없었던 C문제를, 예를 들면 내일 해설을 참고로 풀어 보거나, 더 하는 편이 좋을 것이라고 생각합니다만, 시간도 한정되어 있으므로 마음이 가는 대로 학습을 진행합니다.
회사에서도, 경기 프로그래밍의 책을 추천되고 있었으므로, 역시 읽어 볼까.
그럼 또.
Reference
이 문제에 관하여(【Java】AtCoder의 ABC-200에 참가했습니다(레이트:278→264).), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ishikawaryou/items/aa47d02a1c4a4ef00280텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)