愛奇芸2019秋招筆試験問題(Java)

1564 ワード

時間:20180915 10:00~12:00
一、ラッキーID
小さいCは1枚の切符があって、この切符のIDは長さが6の文字列で、すべての文字はすべて数字で、彼はこのIDを彼の辛運IDに変えたいので、彼はIDを変更し始めて、毎回操作して、彼は任意の数字を選択してそれを置き換えることができます.このIDの最初の3桁の数字の和が後の3桁の数字の和に等しい場合、このIDは幸運です.Cさんに頼んでください.少なくとも何回か操作して、IDを辛運IDに変えることができます.
入力:
入力は1行のみで、長さ6の文字列です.
出力:
この最小操作回数を出力
 
サンプル入力
000000
サンプル出力
0
 
Hint
入力サンプル2
000018
出力サンプル2
1
二、局長の食べ物
テーマ:
局長は全部でN種類の食品があって、それぞれi部があって、彼は毎日1部の食品だけを食べて、あるいは1部の食品だけを買って(一日の中で食べるか買うか、同時に行うことはできません)M日目のP食品の部数の総食品の部数の中の順位を求めます.
入力:
1行目は、3つの数N、M、Pで、それぞれ食べ物の種類、日数、要求された食べ物を表します.
2行目、N個の数は、各食べ物の部数を表す.
次にM行、1行に2つの数があり、1番目の数は食べるか買うか(Aは買う、Bは食べる)、2番目の数はどの食べ物を操作するかを表します.
出力:
P食べ物ランキング
サンプル入力:
3 4 2
5 3 1
B 1
A 2
A 2
A 3
サンプル出力:
1
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int food = sc.nextInt();
		int day = sc.nextInt();
		int p = sc.nextInt();
		int[] foods = new int[food]; 
		for(int i = 0; i < food; i++)
			foods[i] = sc.nextInt();
		sc.nextLine();
		for(int i = 0; i < day; i++){
			String s = sc.nextLine();
			String[] str = s.split(" ");
			if(str[0].equals("A"))
				foods[Integer.parseInt(str[1])-1]+=1;
			else if(str[0].equals("B"))
				foods[Integer.parseInt(str[1])-1]-=1;
		}
		int result = 1;
		for(int j = 0; j < food; j++){
			if(foods[j] > foods[p-1])
				result++;
		}
		System.out.println(result);
	}
}