akizoraのアウトプットブログ

駆け出しエンジニアの拙いアウトプット

仕事についてもやもやしたので愚痴ります。

akizoraです。

いまの仕事

ITコンサルを名乗りつつも、最近は運用保守系の仕事をしています。
金融機関系の業務システムです。

運用保守と言いつつも、機能拡張の案件とかも取って対応したりしてます。

もちろん日々の障害とかも対応しており、思ったほど楽な仕事でもないです。

愚痴りたくなったこと①~パシリ~

今日、「明日使うデモ用のタブレット羽田空港まで受け取りに行ってくれ」と急遽頼まれ、
空港までパシリに行きました。泣

この時点で18時半で、今日終わらせる予定だった仕事は終わらず。
(行きかえりで結局二時間…)

愚痴りたくなったこと②~勝手に火の海へ~

21時過ぎくらいに帰ってくると、先輩から特に事前相談もなく
「炎上PJの手伝いを明日からしてくれ」と。

何かなんでもやってくれてると思われてるのかな?
僕も運用保守やっているとは言え、忙しくはないのだけど。

いや、炎上するのも分かるし手伝うのも別にいいんですが、
何より腹が立つのは、全く僕の意見とか聞いてもらえてないというトコです。

2018年~年始、メッチャ仕事してやっと落ち着いてきたかなと思った矢先これです。
人を何だと思ってるんだと、怒りたかった今日この頃でした。

なぜ

自分の主張はちゃんと持っておかないダメですね。
僕はどこか何でもやってくれそうな雰囲気を醸し出しすぎている気がする。

自分の意見・主張は絶対に、常に持っておくべきだと感じました。終わり。

CADDi 2018 for Beginners

昨日はCADDi 2018 for Beginnersに参加したので戦歴めも。
復習が全然できてない…
しっかり復習する時間も予定に組み込まないとダメですね。

A問題

入力された文字列を一個ずつサブストして2の数を数える。
3分半くらいでAC。まだ早くかけるなぁ。

B問題

一定の高さと幅をもつ板の数を数える問題。
for文を回して条件を満たす板を数えて終了。   ここらで11分経過。

C問題

TLEから抜け出せなかった。。。
1からPまで全て調べるようなことをしてるからダメな気がするけど、勉強不足でした。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long N = sc.nextLong();
        long P = sc.nextLong();
        long num = 1;

        for (long i = 1; i <= P; i++) {

            long n = (long) Math.pow(i, N);

            if (n > P) {
                break;
            }
            if (P % i == 0) {
                if (P%n == 0) {
                    num = i;
                }
            } else {
                continue;
            }
        }
        System.out.println(num);
    }
}

まだまだ精進します。

追記

これでACでした。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long N = sc.nextLong();
        long P = sc.nextLong();
        long num = 1;
        long n = 1;

        if(N==1) {
            System.out.println(P);
            return;
        }

        for (long i = 1; n <= P; i++) {

            if (P%n == 0) {
                num = i;
            }
            n = (long) Math.pow(i+1, N);
        }
        System.out.println(num);
    }
}

AtCoder Grand Contest 029

初めてのAGC。 A問題解ければいいやと思っていたら、解けず。 TLEから抜け出せなかったです・・ どう解けば良かったんだろう。旅行先なので後日復習します。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String S = sc.next();
 
        int cnt = 0; 
        boolean can = true;
 
        while(can) {
            can = false;
            if (S.contains("BW")) {
                cnt += (S.length() - S.replace("BW","").length())/2;
                can = true;
                S = S.replace("BW", "WB");
            }
        }
        System.out.println(cnt);
    }
}

AtCoder Beginner Contest 115

最近、競プロ(Atcoder)を始めた。 まだまだ初心者だけど、考察とかを書いて行こうと思う。 ABCは2回目。

今日のABC。 開始が10分ほど延期になった。その間にトイレ行ってた。

A問題

if文書いて終わり。それでも2分くらい。

B問題

ソートして一番金額が高いものを半額にすればできた。 始まってから10分くらい。遅い。

C問題

前回はC問題解けなかったから気合いを入れる。 なんかできそう、と考えていると、ソートしてK個分みてMAXとMINの差分が小さくなるものを選べばできることを思いつく。 書いてみるとできた。 (だけどミスってWAを出してしまった。K個分みることを忘れていた。。)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int K = sc.nextInt();

        ArrayList<Long> list = new ArrayList<>();

        for (int i = 0; i < N; i++) {
            list.add(sc.nextLong());
        }

        Collections.sort(list);

        long[] dif = new long[N-K+1];

        for (int i = 0; i < N-K+1; i++) {
            long min = list.get(i);
            long max = list.get(i+K-1);

            dif[i] = max - min;
        }
        Arrays.sort(dif);
        System.out.println(dif[0]);
    }
}

D問題

解けなかった。ペンだけ動かして漸化式書いてた・・ もっと勉強が必要ですね。

メンターを探す!

自分には未だにメンターと呼べる人がいない。会社でもあまりメンターにしたいと思える人がいない。

そしてそんなに必要だとも思っていなかったのだけど、やはり目指したい人がいるというのは仕事のモチベーション維持につながるし、行動指針にもなると今日思い立った。

 

会社にいないならネットで探せばいいので、理想のエンジニアを探します。

疲労の取り方!

自分流だけど、疲労の取り方がいくつかある。

・体を動かす(筋トレが良い)

・炭水化物少なめの食事にする

・寝る(7時間以上)

 

体を動かすときは、できるだけ汗を流して老廃物を出すようにする。

食事はとにかく糖質を抑え、野菜とタンパク質中心にする。

あとは睡眠時間を確保する。寝る前のブルーライトはなるべくカットしておく。

 

これだけでも結構疲れとれる。