[뻘글] 열 번 찍어 안 넘어가는 나무 있을까? 그게 아이유라도...?
안녕하세요. 코딩하는 공룡이 되고 싶은 싸이금 입니다.
어머니가 주무십니다. 저는 할 일이 없습니다. 갑자기 뻘글을 쓰고 싶었습니다.
그래서 오늘은 코딩으로 저의 생각을 표현해 보고 싶었습니다.
바로 시작합니다!
문제 제기
옛 성인들께서는 하루에 세번 이상 이렇게 말하지 않으면 입안에 가시가 돋는다고 했습니다.
열 번 찍어 안 넘어가는 나무 없다.

(이미지 출처: https://m.blog.naver.com/PostView.nhn?blogId=e_adventure&logNo=220025798789&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F)
과연 그럴까요...? 위의 속담대로 라면 아이유의 마음도 얻을 수 있는 걸까요???
(저는 여친이 있기 때문에 아이유는 제게 그저 귀엽게 생긴 여자 사람일 뿐이지요. 훗.)
저는 이 문제를 굉장히 논리적으로, 이성적으로 접근하기 위해 프로그래밍을 해보았습니다.
다음은 javascript로 짠 전체 코드 입니다.
코드
const TEN_TIMES = 10;
var axCount = 0;
var heartDistanceBetweenYouAndMe = 1;
var heartOpenedDistanceBetweenYouAndMe = Math.random();
var isSuccess = false;
while (++axCount <= TEN_TIMES) {
heartDistanceBetweenYouAndMe -= (1 / TEN_TIMES) * Math.random();
if (heartDistanceBetweenYouAndMe < heartOpenedDistanceBetweenYouAndMe ) {
isSuccess = true;
break;
}
}
if (isSuccess)
console.log(axCount + " 번의 도끼질로 그녀의 마음을 여는데 성공했습니다.");
else
console.log("10 번의 도끼질로 그녀의 마음을 여는데에 실패했습니다.");
코드 설명
const TEN_TIMES = 10;
-> 열번의 도끼질 상수입니다.var axCount = 0;
-> 상대방에게 행할 도끼질(?) 횟수 입니다.var heartDistanceBetweenYouAndMe = 1;
-> 상대방과 나의 마음의 거리입니다. 1부터 시작합니다.var heartOpenedDistanceBetweenYouAndMe = Math.random();
-> 상대방과 나의 마음이 열리는 거리입니다. 알 수 없네요... ㅎvar isSuccess = false;
-> 그녀의 마음을 얻었을까요? 성공 여부 플래그입니다.while (++axCount <= TEN_TIMES) {}
-> 열 번 동안 도끼질을 합니다.heartDistanceBetweenYouAndMe -= (1 / TEN_TIMES) * Math.random();
-> 그녀와 나의 마음의 거리는 1부터 시작해서 도끼를 찍을 때마다 일정량 만큼 가까워 집니다. 이 수식을 마음의 거리 수식이라 하겠습니다. 이 수식대로라면 여러분과 아이유의 마음의 거리가 1이라 해도 확률적으로는 여러분은 아이유의 마음을 얻을수 있지요???if (heartDistanceBetweenYouAndMe < heartOpenedDistanceBetweenYouAndMe ) {
isSuccess = true;
break;
}
-> 마음의 거리가 열리는 순간이 되면 성공 여부 플래그는 true 의 값을 가지게 됩니다.if (isSuccess)
console.log(axCount + " 번의 도끼질로 그녀의 마음을 여는데 성공했습니다.");
else
console.log("10 번의 도끼질로 그녀의 마음을 여는데에 실패했습니다.");
-> 이것으로 성공 여부를 알 수 있습니다.
결론
사람이 사람을 만나서 연인 관계로 발전하는데에는 많은 변수들이 있겠죠.
키 커요? 재산 많아요? 잘생, 존예? 벤츠 or 아우디?
...
(아름다운 결론을 내기 위해) 그래도 무엇보다 중요한건 상대방에 대해 얼마나 진심인가, 좋아하는가, 열성적인가라고 생각합니다. 왜냐면 전 로맨티스트니까요... 훗.(여친님~ 보고 있나!?)
그래서 마음의 거리 수식을 조금 수정해야겠네요.
heartDistanceBetweenYouAndMe -= (1 / TEN_TIMES) * Math.random() * K;
K 값이 1보다 크다면 상대방과의 거리는 더욱 가까워지고, 1보다 작다면 상대방과의 거리는 더욱 멀어질 것입니다.
여러분의 K 상수는 어떤 값입니까? 1보다 큰가요? 작은가요? ^^
p.s: 실제로 여러번 해당 코드를 돌려보니 실패하는 경우가 적지 않았습니다... ㅜㅜ
그리고 뻘글에 이렇게 시간투자를 어마어마하게 했으니...
보팅은 안 해주셔도 댓글이라도... (그렇다고 보팅 안 하시란 말은 아닙...)
헉;;;저는 @clarkgold 님 음악하시는 분으로 알고 있었는데 알고 프로그래밍까지 하시고 대단합니다;;;
이제 보니 본래 전공이 프로그래밍이고 음악은 취미로 하시는것 아닙니까? ㅋㅋㅋ
저는 프로그래머 입니다.
음악이 취미지요. ㅋㅋㅋ
오 소재가 참신한데요. ㅎㅎ 생활코딩편 같아요 ㅋㅋㅋ
코딩은 굉장히 간단한건데 설명 적는게 한참이네요 ㅋ
안녕하세요 싸이금님, 어머님 보살피시느라 수고가 많으시네요. 그런데 저런 코드는 뭔지 도통 이해가 잘 안되네요 ㅎㅎ 저의 상수는 1보다 크명 좋겠네요. 흥미로운 글 잘 봤습니다~~수고하세요^^
^^ @kimsungmin 님의 상수는 1보다 크실 겁니다. 이미 나이스한 가정이 있으시니까요~ ^^ㅋ
아 네 그렇군요. 뻘글치고는 너무 어려운 내용이었어요 저한테는 ㅎㅎ . 아무쪼록 어머님의 쾌유를 빕니다~~ 빨리 싸이금님 노래도 듣고 싶군요.
저도 빨리 노래 올리고 싶네요. ㅜㅜ
네 가끔 지난거 켜 놓고 스팀잇 글 쓰고 있습니다. 고맙습니다~~
전 문과라서 이해가 잘.....하하하하하하하;;;
(그래도 보팅과 댓글은 남겨요)
전 이과라서... ㅜㅜ
문과 출신 스머티 집에도 가보겠습니다. ㅎㅎㅎ
환영합니다.
댓글만 달아 봅니다. ^^
환영 감사합니다~. ^^
음. 외계어네요...ㅡㅁㅡ;;;;;
ㅜㅜ 죄송합니다. 최대한 쉽게 풀어보려 했는데...
저걸 치면 저런 결과치가 나온단 건가요?
신박하네욬ㅋㅋㅋ
ㅎㅎㅎ 프로그래밍이 재미있는 이유겠죠.
결국 완얼이라는...
흑... 눙물이... ㅜㅜ
헉.. 재미있게 코드 설명해주시네요 최고입니다!
재미있게 봐주셔서 감사합니다~. ^0^
상수가 1 이상이길 빌어야겠군요 흑흑
그... 그럴 겁니다 ^^;;;