TIL_210223
15602 ワード
きょう習った
変数とデータ型
質問する
パラメータとして文字列を受信し、感嘆符を付けて返信するWordWithJoyを返す関数があります.文字列「I love coding」を関数としてWordWithJoyの最初のパラメータ呼び出しを返し、結果値を変数wordに割り当てます.// 문자열을 인자로 받아서 느낌표를 붙여서 리턴 해주는 함수 returnWordWithJoy가 있습니다.
// 함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고,
// 그 결과값을 변수 word에 할당하세요.
// TODO : 이곳에 코드를 입력합니다
// 아래 코드는 변경하지 마세요
function returnWordWithJoy(word) {
if (typeof word !== 'string') {
return 'wrong type';
} else {
return word + '!';
}
}
私の間違い
これは実は耻ずかしい間違いの答えです.私が問題を読み間違えたからです.
一度予科を受けたことがあるので,すっかり油断してしまった.
結果値を変数wordに割り当てることは示されていません.let word = returnWordWithJoy('I love coding')
を入力する必要があります.returnWordWithJoy('I love coding')
万入力...
あ….恥ずかしい...
だから私は何を学びましたか。
問題を解くときだけでなく、論理とコードを書くとき、私がしなければならないことを正確に把握し、実行に移します.
条件文
質問です。
入力した時間、分、秒の数は、秒単位で結果値を特定の形式で返さなければなりません.
~
入力
パラメータ1 hour
:numberタイプの整数(0<=hour&&&hour<24)
パラメータ2 minute
:numberタイプの整数(0<=mine&&minute<60)
パラメータ3 second
:numberタイプの整数(0<=second&&second<60)
~
しゅつりょくstring 타입을 리턴해야 합니다.
1초 뒤에 {hour}시 {minute}분 {second}초 입니다 형식으로 리턴해야 합니다.
~
I/O例let output = addOneSecond(14, 17, 59);
console.log(output); // --> '1초 뒤에 14시 18분 0초 입니다'
output = addOneSecond(1, 59, 59);
console.log(output); // --> '1초 뒤에 2시 0분 0초 입니다'
output = addOneSecond(3, 24, 29);
console.log(output); // --> '1초 뒤에 3시 24분 30초가 입니다'
output = addOneSecond(23, 59, 59);
console.log(output); // --> '1초 뒤에 0시 0분 0초 입니다'
私のエラーコード
function addOneSecond(hour, minute, second) {
//결과를 담을 변수들을 선언한다
let hh = 0
let mm = 0
let ss = 0
// second가 0보다 크거나 같고, 59보다 작거나 같을 때 ss에 second를 더한다
// second가 60일 때 ss는 0, mm에 1을 더한다
if(second === 60){
ss = 0;
mm = mm + 1
} else {
ss = ss + second + 1
}
// minute가 0보다 크거나 같고, 59보다 작거나 같을 때 mm에 minute를 더한다
// minute가 60일 때 mm과 ss는 0, hh에 1을 더한다
if(minute === 60){
ss = 0;
mm = 0;
hh = hh + 1
} else {
mm = mm + minute
}
// hour가 0보다 크거나 같고 23보다 작거나 같을 때 hh에 hour를 더한다
// hour가 24일 때 hh, mm, ss를 모두 0으로 만든다.
if(hour === 24){
ss = 0;
mm = 0;
hh = 0;
} else {
hh = hh + hour
}
//리턴한다
return `1초 뒤에 ${hh}시 ${mm}분 ${ss}초 입니다`
}
の原因となる
コード自体も非常に原始的ですが、致命的なエラーも発生しています.
私が作成したコードは、条件文が初めて入力された瞬間にのみ判定されます.addOneSecond(6, 59, 59)
と入力し、1초 뒤에 6시 60분 60초 입니다
を返します.
解決する
条件を変更しました.パラメータ値を+1に変換して比較し,すべて解決した.
最終コード
function addOneSecond(hour, minute, second) {
//결과를 담을 변수들을 선언한다
let hh = 0
let mm = 0
let ss = 0
// second가 0보다 크거나 같고, 59보다 작거나 같을 때 ss에 second를 더한다
// second가 60일 때 ss는 0, mm에 1을 더한다
if(second +1 === 60){
ss = 0;
mm = mm + 1
} else {
ss = ss + second + 1
}
// minute가 0보다 크거나 같고, 59보다 작거나 같을 때 mm에 minute를 더한다
// minute가 60일 때 mm과 ss는 0, hh에 1을 더한다
if(minute +1 === 60){
ss = 0;
mm = 0;
hh = hh + 1
} else {
mm = mm + minute
}
// hour가 0보다 크거나 같고 23보다 작거나 같을 때 hh에 hour를 더한다
// hour가 24일 때 hh, mm, ss를 모두 0으로 만든다.
if(hour+1 === 24){
ss = 0;
mm = 0;
hh = 0;
} else {
hh = hh + hour
}
//리턴한다
return `1초 뒤에 ${hh}시 ${mm}분 ${ss}초 입니다`
}
リファレンスコードと私の違い
論理そのものには大きな違いはない.判定と初期化方法のみが若干異なる.
私のコードも悪くありませんが、これは条件判定エラーです.もし後でコードの作成が上手になったら、圧縮コードを練習してみてください.
// 문자열을 인자로 받아서 느낌표를 붙여서 리턴 해주는 함수 returnWordWithJoy가 있습니다.
// 함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고,
// 그 결과값을 변수 word에 할당하세요.
// TODO : 이곳에 코드를 입력합니다
// 아래 코드는 변경하지 마세요
function returnWordWithJoy(word) {
if (typeof word !== 'string') {
return 'wrong type';
} else {
return word + '!';
}
}
質問です。
入力した時間、分、秒の数は、秒単位で結果値を特定の形式で返さなければなりません.
~
入力
パラメータ1
hour
:numberタイプの整数(0<=hour&&&hour<24)パラメータ2
minute
:numberタイプの整数(0<=mine&&minute<60)パラメータ3
second
:numberタイプの整数(0<=second&&second<60)~
しゅつりょく
string 타입을 리턴해야 합니다.
1초 뒤에 {hour}시 {minute}분 {second}초 입니다 형식으로 리턴해야 합니다.
~I/O例
let output = addOneSecond(14, 17, 59);
console.log(output); // --> '1초 뒤에 14시 18분 0초 입니다'
output = addOneSecond(1, 59, 59);
console.log(output); // --> '1초 뒤에 2시 0분 0초 입니다'
output = addOneSecond(3, 24, 29);
console.log(output); // --> '1초 뒤에 3시 24분 30초가 입니다'
output = addOneSecond(23, 59, 59);
console.log(output); // --> '1초 뒤에 0시 0분 0초 입니다'
私のエラーコード
function addOneSecond(hour, minute, second) {
//결과를 담을 변수들을 선언한다
let hh = 0
let mm = 0
let ss = 0
// second가 0보다 크거나 같고, 59보다 작거나 같을 때 ss에 second를 더한다
// second가 60일 때 ss는 0, mm에 1을 더한다
if(second === 60){
ss = 0;
mm = mm + 1
} else {
ss = ss + second + 1
}
// minute가 0보다 크거나 같고, 59보다 작거나 같을 때 mm에 minute를 더한다
// minute가 60일 때 mm과 ss는 0, hh에 1을 더한다
if(minute === 60){
ss = 0;
mm = 0;
hh = hh + 1
} else {
mm = mm + minute
}
// hour가 0보다 크거나 같고 23보다 작거나 같을 때 hh에 hour를 더한다
// hour가 24일 때 hh, mm, ss를 모두 0으로 만든다.
if(hour === 24){
ss = 0;
mm = 0;
hh = 0;
} else {
hh = hh + hour
}
//리턴한다
return `1초 뒤에 ${hh}시 ${mm}분 ${ss}초 입니다`
}
の原因となる
コード自体も非常に原始的ですが、致命的なエラーも発生しています.
私が作成したコードは、条件文が初めて入力された瞬間にのみ判定されます.
addOneSecond(6, 59, 59)
と入力し、1초 뒤에 6시 60분 60초 입니다
を返します.解決する
条件を変更しました.パラメータ値を+1に変換して比較し,すべて解決した.
最終コード
function addOneSecond(hour, minute, second) {
//결과를 담을 변수들을 선언한다
let hh = 0
let mm = 0
let ss = 0
// second가 0보다 크거나 같고, 59보다 작거나 같을 때 ss에 second를 더한다
// second가 60일 때 ss는 0, mm에 1을 더한다
if(second +1 === 60){
ss = 0;
mm = mm + 1
} else {
ss = ss + second + 1
}
// minute가 0보다 크거나 같고, 59보다 작거나 같을 때 mm에 minute를 더한다
// minute가 60일 때 mm과 ss는 0, hh에 1을 더한다
if(minute +1 === 60){
ss = 0;
mm = 0;
hh = hh + 1
} else {
mm = mm + minute
}
// hour가 0보다 크거나 같고 23보다 작거나 같을 때 hh에 hour를 더한다
// hour가 24일 때 hh, mm, ss를 모두 0으로 만든다.
if(hour+1 === 24){
ss = 0;
mm = 0;
hh = 0;
} else {
hh = hh + hour
}
//리턴한다
return `1초 뒤에 ${hh}시 ${mm}분 ${ss}초 입니다`
}
リファレンスコードと私の違い
論理そのものには大きな違いはない.判定と初期化方法のみが若干異なる.
私のコードも悪くありませんが、これは条件判定エラーです.もし後でコードの作成が上手になったら、圧縮コードを練習してみてください.
Reference
この問題について(TIL_210223), 我々は、より多くの情報をここで見つけました https://velog.io/@ccrjun/TIL210223テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol