[プログラマ]基地局設置(JAVA)
986 ワード
問題の説明
N個のマンションが一列に並んでいる.一部のマンションの屋上には4 g基地局が設置されている.技術の発展に伴い、5 gに対する需要はますます高くなり、4 g基地局を5 g基地局に変えたいと思っています.しかし、5 g基地局は4 g基地局より転送範囲が小さく、4 g基地局が5 g基地局に変更されると、一部のマンションでは電波が届かない.
例えば、11棟のマンションがずらりと並び、[4,11]2棟目のマンションの屋上には4 gの基地局が設置されている.この4 g基地局が電波到達距離を1人5 g基地局に変更すると、全てのマンションに電波を送ることができない.(伝播距離がWの場合、基地局のあるマンションから両側に伝播距離を伝播することができる.)
マンションの個数Nは、現在基地局のマンションの番号が設定されている1次元配列局であり、電波の到達距離Wをパラメータとした場合、全てのマンションに電波を伝達するために増設する基地局個数の最大値のコールバック関数を完了してください.
せいげんじょうけん
N:2億2000万以下の自然数
サイトサイズ:10,000以下の自然数
サイトは昇順に並べられ、配列の数はNの自然数に等しいか、または小さい.
W:1000以下の自然数
Code
N個のマンションが一列に並んでいる.一部のマンションの屋上には4 g基地局が設置されている.技術の発展に伴い、5 gに対する需要はますます高くなり、4 g基地局を5 g基地局に変えたいと思っています.しかし、5 g基地局は4 g基地局より転送範囲が小さく、4 g基地局が5 g基地局に変更されると、一部のマンションでは電波が届かない.
例えば、11棟のマンションがずらりと並び、[4,11]2棟目のマンションの屋上には4 gの基地局が設置されている.この4 g基地局が電波到達距離を1人5 g基地局に変更すると、全てのマンションに電波を送ることができない.(伝播距離がWの場合、基地局のあるマンションから両側に伝播距離を伝播することができる.)
マンションの個数Nは、現在基地局のマンションの番号が設定されている1次元配列局であり、電波の到達距離Wをパラメータとした場合、全てのマンションに電波を伝達するために増設する基地局個数の最大値のコールバック関数を完了してください.
せいげんじょうけん
N:2億2000万以下の自然数
サイトサイズ:10,000以下の自然数
サイトは昇順に並べられ、配列の数はNの自然数に等しいか、または小さい.
W:1000以下の自然数
Code
class Solution {
public int solution(int n, int[] stations, int w) {
int cnt=0,sIdx=0;
for(int i=1; i<=n ; i++) {
if(sIdx<stations.length && stations[sIdx]-w<=i) {
// 기지국 설치 지역의 area면 jump
i = stations[sIdx++]+w;
} else {
// 기지국 설치필요 지역이면 제일 넓은 cover 지역 다음으로 jump
cnt++;
i += (w*2);
}
}
return cnt;
}
}
Reference
この問題について([プログラマ]基地局設置(JAVA)), 我々は、より多くの情報をここで見つけました https://velog.io/@ujone/프로그래머스-기지국-설치-JAVAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol