[JAVA] L'histoire d'un super débutant participant pour la première fois au concours AtCoder (AtCoder Beginner Contest 140)

Je décrirai le sentiment de participer à AtCoder comme une pratique et un mémorandum.

environnement

・ Mac OS X 10.13.6 · Éclipse -Langage: Java8 (OpenJDK 1.8.0)

Déclencheur

Cela fait un mois que j'ai appris Java pour la première fois dans une école professionnelle. J'ai été recommandé à AOJ au niveau où j'ai finalement pu utiliser l'instruction for. J'ai aimé résoudre les problèmes d'AOJ à Lunlun pendant environ une semaine, mais hier, je n'ai pas pu y accéder dès le matin (en pleurant) Mais je prends une pause et je veux résoudre certains problèmes!

J'ai donc décidé d'aller sur la page AtCoder, où j'avais évité de dire "le concours est un peu effrayant".

AtCoder Beginner Contest 140 Il aura lieu aujourd'hui (9/7)! !! J'ai appuyé sur le bouton de jointure avec élan. J'ai participé aux concours suivants AtCoder Beginner Contest 140

résultat

スクリーンショット 2019-09-08 9.56.32.png スクリーンショット 2019-09-08 9.50.58.png

J'étais accro au problème B

Question B, 70 minutes à la fin de la bonne réponse ... Je ne pouvais pas comprendre le problème C.

■ Cause de la dépendance au problème B

-Erreur de compilation avec des doubles parenthèses (()) dans l'instruction if (aucune erreur dans Eclipse) -Si des éléments sont affectés en tournant avec une instruction for, le nombre de caractères de recherche dans le tableau sera dépassé (erreur ArrayIndexOutOfBoundsException).

■ Problème et réponse au problème B

Problème Problème B: Buffet
Bonne réponse
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] A = new int[21];
		int[] B = new int[21];
		int[] C = new int[21];
		int i = 0;
		int cs = 0;
		int csSum = 0;

		for( i = 0; i < N ; i++) { //Entrée Stocke l'entrée de la deuxième ligne dans le tableau A
			A[i] = sc.nextInt();
		}

		for( i = 0; i < N; i++) { //Entrée Stocke l'entrée de la troisième ligne dans le tableau B
			B[i] = sc.nextInt();
		}

		for( i = 0; i < N-1; i++) { //Entrée Stockez l'entrée sur la 4ème ligne du tableau C
			C[i] = sc.nextInt();
		}
		
		for(i = 1; i <= N; i++) { //Répétez autant de fois que vous avez mangé la nourriture
			int j = A[i-1];  //Je ne voulais pas mettre la séquence dans le caractère de recherche
			if(A[i] == j+1) {  //Si le plat avant le plat que vous mangez actuellement est i+Si le premier
				cs = B[j-1] + C[j-1];  //Satisfaction B+Satisfaction C
			}else {  //Si je+Si ce n'est pas le premier
				cs = B[j-1];
			}
			csSum += cs;  //Ajouter à la satisfaction totale obtenue
		}
		System.out.println(csSum);
		sc.close();
	}
}

Résumé

-Voir Toutes les soumissions et étudier les problèmes résolus en regardant les réponses d'autres personnes. «J'ai réalisé une fois de plus que le nombre de problèmes que j'avais résolus jusqu'à présent était faible et que je ferai de plus en plus d'exercices. ――Il est temps d'étudier l'algorithme. (Je ne connais que le tri à bulles)

J'ai fait référence à l'article suivant!

Conseils sur le concours AtCoder (@ drken) Que faire ensuite après vous être inscrit sur AtCoder - Si vous résolvez ce problème, vous pouvez vous battre suffisamment! Les questions précédentes ont sélectionné 10 questions ~ (@ drken) [Comment créer un article Qiita](https://qiita.com/U-MA/items/996ae933ae94c5711883#%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82markdown % E8% A8% 98% E6% B3% 95% E3% 81% A3% E3% 81% A6% E3% 81% AA% E3% 82% 93% E3% 82% 84% E3% 81% AD% E3 % 82% 93) (@ U-MA)

Recommended Posts

L'histoire d'un super débutant participant pour la première fois au concours AtCoder (AtCoder Beginner Contest 140)
Une histoire sur le JDK à l'ère de Java 11
L'histoire de l'utilisation intentionnelle de Try catch pour la première fois de ma vie
Impressions et doutes sur l'utilisation de Java pour la première fois dans Android Studio
Modéliser Digimon avec DDD pour la première fois Partie 1
Résolvez AtCoder Beginner Contest 151 avec Java
Résolvez AtCoder Beginner Contest 150 avec Java
Résolvez AtCoder Beginner Contest 153 avec Java
Résolvez AtCoder Beginner Contest 175 avec Java
Résolvez AtCoder Beginner Contest 160 avec Java
Résolvez AtCoder Beginner Contest 152 avec Java
Résolvez AtCoder Beginner Contest 156 avec Java
Spring AOP pour la première fois
Une histoire qu'un débutant Ruby a fait et a publié un LINE BOT qui raconte l'heure du train en 2 mois
Introduction à Java pour la première fois # 2
[Débutant] Histoire de commencer à étudier Java pour la recherche d'emploi ~ 2e mois ~
L'histoire de la sortie de l'application Android sur le Play Store pour la première fois.
[Débutant] Une histoire sur le début de l'étude de Java pour la recherche d'emploi ~ 1er mois ~
Apprendre pour la première fois java [Introduction]
[Communication Socket (Java)] Impressions de la mise en œuvre de la communication Socket dans la pratique pour la première fois
[Débutant] Une histoire sur le début de l'étude de Java pour la recherche d'emploi ~ 5ème mois ~
Première programmation de ma vie Java 1st Hello World
Une histoire sur l'évolution des compétences du COBOL cultivé pendant 5 ans à la fin des années 20 à un langage Web
[Débutant] Une histoire sur le début de l'étude de Java pour la recherche d'emploi ~ 4ème mois ~
L'histoire de l'apprentissage de Java dans la première programmation
Murs touchés par le premier Rspec
Une histoire sur la création d'un Builder qui hérite du Builder
Développement d'Android Studio pour la première fois (pour les débutants)
J'ai essayé de toucher Docker pour la première fois
Une histoire sur le JDK à l'ère de Java 11
L'histoire d'un super débutant participant pour la première fois au concours AtCoder (AtCoder Beginner Contest 140)
Une note sur la fonction de départ de Ruby on Rails
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
Une histoire sur l'évolution des compétences du COBOL cultivé pendant 5 ans à la fin des années 20 à un langage Web
Concours AtCoder Débutant 168
AtCoder Beginner Contest 170 A, B, C jusqu'au rubis
Remarque sur l'initialisation des champs dans le didacticiel Java
Mémo d'apprentissage lors de l'apprentissage de Java pour la première fois (mémo d'apprentissage personnel)
Une histoire sur l'introduction d'Evolutions dans le cadre de jeu
L'histoire du démarrage d'une session de lecture sur Java pour les nouveaux arrivants
Comment étudier le kotlin pour la première fois ~ Partie 2 ~
Comment étudier le kotlin pour la première fois ~ Partie 1 ~
Résumé des points que les programmeurs Java trouvent glissants lorsqu'ils lisent la source Kotlin pour la première fois
Une histoire que j'ai réalisé que je devais étudier en premier lieu en tant qu'ingénieur
[Rails] J'ai essayé d'utiliser la méthode button_to pour la première fois
Une histoire sur une BeanNotOfRequiredTypeException qui s'est produite après l'application d'AOP au printemps
Avec le logiciel que je fais depuis longtemps ...
[DL4J] Premier apprentissage en profondeur Java (reconnaissance de caractères manuscrits à l'aide d'un réseau neuronal entièrement connecté)
[Enregistrement d'apprentissage] J'ai obtenu l'heure actuelle avec Ruby et j'ai sorti un message d'accueil différent à chaque fois.