데일리 챌린지 #100 - 모으기
25805 단어 challenge
데일리 챌린지 #1 - 스트링 필러
dev.to staff ・ 2019년 6월 28일 ・ 1분 읽기
#challenge
우리의 첫 번째 챌린지 게시물은 사용자에게 문자열에서 첫 번째 문자와 마지막 문자를 간단히 제거하도록 요청했습니다. CSS, Ruby, Javascript로 다양한 답변을 해주셨어요!
이 게시물에서 43개의 하트로 가장 인기 있는 댓글을 받았습니다. 그는 우리 커뮤니티 주변의 많은 사람들에게 큰 도움이 되었으며 많은 챌린지 게시물에서 그의 댓글을 볼 수 있습니다.
Alvaro Montoro
CSS
클래스
removeFirstAndLastLetter
를 태그에 추가하고 텍스트에서 "제거된"첫 글자와 마지막 글자를 확인하세요 😋.removeFirstAndLastLetter {
background: #fff;
font-family: monospace;
white-space: nowrap;
position: relative;
display: inline-block;
}
.removeFirstAndLastLetter::before,
.removeFirstAndLastLetter::after {
content: "\00a0";
background: #fff;
top: 0;
display: block;
position: absolute;
height: 100%;
width: auto;
}
.removeFirstAndLastLetter::after {
right: 0;
}
추가로 스타일을 지정하고 애니메이션을 적용할 수 있으므로 문자가 페이드 아웃되는 것을 볼 수 있습니다.
데일리 챌린지 #48 - 페이스북 좋아요
dev.to staff ・ 2019년 8월 23일 ・ 1분 읽기
#challenge
우리는 이 게시물이 더 까다로울 것이라고 정말로 생각했지만 정말 짧고 사려 깊은 답변이 많이 들어왔습니다. Daily Challenge #48은 사용자에게 Facebook에서 일반적인 구문을 모방하는 함수를 작성하도록 요청했습니다.
가장 인기 있는 댓글을 다시 얻었습니다. 47개의 게시물도 나중에 올렸습니다!
또한 Haskell을 사용하여 훌륭한 답변을 제공했으며 15개의 하트를 받았습니다.
Avalander
Haskell과의 간단한 패턴 매칭.
likes :: [String] -> String
likes [] = "no one likes this"
likes [a] = a ++ " likes this"
likes [a, b] = a ++ " and " ++ b ++ " like this"
likes [a, b, c] = a ++ ", " ++ b ++ " and " ++ c ++ " like this"
likes (a:b:xs) = a ++ ", " ++ b ++ " and " ++ (show $ length xs) ++ " others like this"
일일 챌린지 #31 - IPv4 주소 계산
dev.to staff ・ 8월 3일 '19 ・ 1분 읽기
#challenge
Daily Challenge #31은 사용자에게 시작 지점과 끝 지점 사이의 IP 주소 수를 반환하라는 메시지를 표시했습니다.
Ruby의 IPAddr 클래스를 사용하여 건방진 솔루션을 찾았습니다.
위를 넘어 포인트가 반전되면 기능이 작동하도록 만들었습니다. 훌륭했습니다!
Kerri Shotts
여기 내꺼야! 시작과 끝이 뒤바뀌면 작동하도록 조금 늘렸습니다.
const convertIPStringToNumber = ipString => ipString.split(".")
.reduce((acc, part) => (acc << 8) | Number(part), 0);
const ipsBetween = (start, finish) =>
Math.abs(convertIPStringToNumber(finish) - convertIPStringToNumber(start));
요지: gist.github.com/kerrishotts/797450...
데일리 챌린지 #60 - 사라진 편지 찾기
dev.to staff ・ 19년 9월 7일 ・ 1분 읽기
#challenge
60번째 챌린지는 사용자에게 연속 문자 배열을 입력으로 사용하고 배열에서 누락된 문자를 반환하는 함수를 작성하도록 요청했습니다.
가 남긴 Go 답변에 대한 몇 가지 개선 사항을 제공했습니다.
, 심지어 F#에 자신의 답을 남겼습니다!
Donald Feury
사라진 편지를 찾으러 갈 시간입니다!
missing_letter.go
package find
// MissingLetter indicates what the missing character is in a ordered sequence of characters
func MissingLetter(chars []rune) rune {
var last int
for _, r := range chars {
if last != 0 && int(r)-last > 1 {
return rune(r - 1)
}
last = int(r)
}
return rune(last)
}
missing_letter_test.go
package find
import "testing"
type testCase struct {
description string
input []rune
expected rune
}
func TestMissingLetter(t *testing.T) {
testCases := []testCase{
{
"two characters",
[]rune{'A', 'C'},
'B',
},
{
"dev-to example one",
[]rune{'a', 'b', 'c', 'd', 'f'},
'e',
},
{
"dev-to example two",
[]rune{'O', 'Q', 'R', 'S'},
'P',
},
}
for _, test := range testCases {
if result := MissingLetter(test.input); result != test.expected {
t.Fatalf("FAIL: %s - MissingLetter(%+v): %v - expected %v", test.description, test.input, result, test.expected)
}
t.Logf("PASS: %s", test.description)
}
}
일일 도전 #42 - 시저 암호
dev.to staff ・ 16년 8월 '19 ・ 1분 읽기
#challenge
Caesar Cipher는 초보자 프로그래머가 데이터 암호화와 같은 더 큰 개념에 대해 생각하기 시작하는 잘 알려진 도전입니다. Daily Challenge #42는 사용자에게 암호 작업을 요청하고 Shift 키와 문자열을 제공하고 일반 텍스트를 요청했습니다.
지난 8월에 이 챌린지 게시물에 무차별 대입 방법을 사용했고 그들이 우리의 최신 챌린지에 대한 솔루션에 대해 언급하는 것을 보았습니다. 멋진 일!
La blatte
시작합니다:
f=(s)=>[...Array(26)].map((_,i)=>26-i).map(n=>`key: ${26-n}\ncipher: ${s}\nplain: ${[...s].map(l=>(a=l.charCodeAt(0),String.fromCharCode(a<123&&a>96?97+((a-97+n)%26):a))).join('')}`).join`\n---\n`
적절한 사전이 없으면 "bruteforce"방법을 고수할 것 같습니다! 작동 방식은 다음과 같습니다.
[...Array(26)].map((_,i)=>26-i)
) 26-n
) 및 암호( s
)를 인쇄합니다. f('dwwdfn iurp wkh zrrgv dw gdzq');
"key: 0
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: dwwdfn iurp wkh zrrgv dw gdzq
---
key: 1
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: cvvcem htqo vjg yqqfu cv fcyp
---
key: 2
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: buubdl gspn uif xppet bu ebxo
---
key: 3
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: attack from the woods at dawn
---
key: 4
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: zsszbj eqnl sgd vnncr zs czvm
---
key: 5
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: yrryai dpmk rfc ummbq yr byul
---
key: 6
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: xqqxzh colj qeb tllap xq axtk
---
key: 7
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: wppwyg bnki pda skkzo wp zwsj
---
key: 8
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: voovxf amjh ocz rjjyn vo yvri
---
key: 9
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: unnuwe zlig nby qiixm un xuqh
---
key: 10
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: tmmtvd ykhf max phhwl tm wtpg
---
key: 11
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: sllsuc xjge lzw oggvk sl vsof
---
key: 12
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: rkkrtb wifd kyv nffuj rk urne
---
key: 13
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: qjjqsa vhec jxu meeti qj tqmd
---
key: 14
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: piiprz ugdb iwt lddsh pi splc
---
key: 15
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: ohhoqy tfca hvs kccrg oh rokb
---
key: 16
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: nggnpx sebz gur jbbqf ng qnja
---
key: 17
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: mffmow rday ftq iaape mf pmiz
---
key: 18
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: leelnv qczx esp hzzod le olhy
---
key: 19
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: kddkmu pbyw dro gyync kd nkgx
---
key: 20
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: jccjlt oaxv cqn fxxmb jc mjfw
---
key: 21
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: ibbiks nzwu bpm ewwla ib liev
---
key: 22
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: haahjr myvt aol dvvkz ha khdu
---
key: 23
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: gzzgiq lxus znk cuujy gz jgct
---
key: 24
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: fyyfhp kwtr ymj bttix fy ifbs
---
key: 25
cipher: dwwdfn iurp wkh zrrgv dw gdzq
plain: exxego jvsq xli asshw ex hear"
2-Clause BSD 라이선스에 따라 재배포를 허용해 주신 CodeWars에 감사드립니다.
특별히 감사함
그리고
시리즈에 기여했습니다. 향후 게시물에 대한 도전을 제안하고 싶습니까? 귀하의 제안과 함께 이메일을 보내십시오!
Reference
이 문제에 관하여(데일리 챌린지 #100 - 모으기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thepracticaldev/daily-challenge-100-round-up-5km텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)