仕事についてもやもやしたので愚痴ります。
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問題
解けなかった。ペンだけ動かして漸化式書いてた・・ もっと勉強が必要ですね。