paizaのCランク獲得問題の解答がなかったので、備忘録として残します。
明らかに簡単な問題の場合は省略しますが、個人的に少しでも考えたコードを残していきたいと思います。
初心者ですので醜いコードを書きますが、温かい目で見守っていただけると嬉しいです。
また、より良い記述方法などありましたら、コメント等で教えていただけると嬉しいです。
目次
- 数値を異なる長さで 2 行出力
- 直角三角形の出力
- すべての行の長さが不定な 2 次元配列の出力
- 【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な 2 次元配列の出力 (paizaランク B 相当)
- 1 つの実数を出力 3
- 1 つの実数を出力 4
- 【実数をフォーマット指定して出力】複数の実数を出力
数値を異なる長さで 2 行出力
using System;
class Program
{
static void Main()
{
string [] NUM =Console.ReadLine().Split();
int N=int.Parse(NUM[0]);
int M=int.Parse(NUM[1]);
for(int i=1;i<=N;i++){
if(i==N){
Console.WriteLine(i);
}else{
Console.Write(i+" ");
}
}
for(int i=1;i<=M;i++){
if(i==M){
Console.WriteLine(i);
}else{
Console.Write(i+" ");
}
}
}
}
直角三角形の出力
using System;
class Program
{
static void Main()
{
int N =int.Parse(Console.ReadLine());
for(int i=1;i<=N;i++){
for(int j=1;j<=i;j++){
if(j==i){
Console.WriteLine(j);
}else{
Console.Write(j+" ");
}
}
}
}
}
すべての行の長さが不定な 2 次元配列の出力
using System;
class Program
{
static void Main()
{
int N =int.Parse(Console.ReadLine());
string [] M=Console.ReadLine().Split();
int [] arrayM =new int [N];
for(int i=0;i<N;i++){
arrayM[i]=int.Parse(M[i]);
}
for(int i=0;i<N;i++){
for(int j=1;j<=arrayM[i];j++){
if(j==arrayM[i]){
Console.WriteLine(j);
}else{
Console.Write(j+" ");
}
}
}
}
}
【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な 2 次元配列の出力 (paizaランク B 相当)
using System;
class Program
{
static void Main()
{
string [] num=Console.ReadLine().Split();
int N=int.Parse(num[0]);
int M=int.Parse(num[1]);
string [] A=Console.ReadLine().Split();
string [] B=Console.ReadLine().Split();
int [] arrayA =new int [N];
for(int i=0;i<N;i++){
arrayA[i]=int.Parse(A[i]);
}
int [] arrayB =new int [M];
for(int i=0;i<M;i++){
arrayB[i]=int.Parse(B[i]);
}
int count=0;
for(int i=0;i<M;i++){
for(int j=0;j<arrayB[i];j++){
if(j==arrayB[i]-1){
Console.WriteLine(arrayA[j+count]);
}else{
Console.Write(arrayA[j+count]+" ");
}
}
count+=arrayB[i];
}
}
}
1 つの実数を出力 3
using System;
class Program
{
static void Main()
{
double N = double.Parse(Console.ReadLine());
Console.WriteLine(N.ToString("F3"));
}
}
1 つの実数を出力 4
using System;
class Program
{
static void Main()
{
string [] num=Console.ReadLine().Split();
double N=double.Parse(num[0]);
int M=int.Parse(num[1]);
Console.WriteLine(N.ToString("F" + M));
}
}
【実数をフォーマット指定して出力】複数の実数を出力
using System;
class Program
{
static void Main()
{
int count =int.Parse(Console.ReadLine());
for(int i=0;i<count;i++){
string [] num=Console.ReadLine().Split();
double N=double.Parse(num[0]);
int M=int.Parse(num[1]);
Console.WriteLine(N.ToString("F" + M));
}
}
}