MileMoa
Search
×

컴퓨터 하시는 분들 보시라고 퍼왔습니다

정혜원, 2019-04-15 17:17:41

조회 수
2959
추천 수
0

15f9931afa712cdc8.png

무슨 뜻인가요?

디버깅은 오른쪽이 쉽다는 뜻일까요?

41 댓글

shilph

2019-04-15 17:19:20

말 그대로요 'ㅅ';;;;

 

마치 수학 초보는 드럼통의 용량을 위해서 면적과 길이를 재고 안의 철판 두께를 재고 하겠지만, 고수는 제조사에 물어보는것과 같은거죠 ㅇㅅㅇ;;;

대박마

2019-04-15 17:21:27

두개 결과가 많이 다른데요..... ㅋㅋ

 

제가 프로그래밍 하면 초보 하듯 하겠는데여.... 다른 사람이 따라 하기 힘들게 그리고 프로그램이 무거워지게.... 열심히 한 것 처럼 보이잖아여.... ㅋㅋ

느끼부엉

2019-04-15 17:21:31

저런 코드는 머리 굴려서 for 문 돌리지 말고 걍 수동으로 프린트 시키는 게 편하다는 거겠쥬...

 

근데 진지빨자면 양쪽 output이 다르네여

the pattern is 문구도 없고

왼쪽은 " * " 이 반복 출력되므로 space가 사이사이 하나씩이 더 생기겠군요

도코

2019-04-15 18:13:02

+1

blu

2019-04-15 17:23:24

화분을 뒷뜰에 옮겨심는데요.

초보는 포크레인 빌려오고요.

고수는 그냥 삽질로 하고요.

느끼부엉

2019-04-15 17:23:30

하지만 응용적인 측면을 보자면 왼쪽처럼 짜는 게 맞습니다.

*를 50개 출력해야 하는 경우가 생기면

왼쪽은 i max 조건문만 바꿔주면 되는데

우측은...

밀크쉐이크

2019-04-15 17:25:34

Scalability 생각하면 왼쪽.

오른쪽은 날림공사?

크리스박

2019-04-15 17:26:10

고수는 pseudo function이나 class로 따로 만들어서 print만 main에서 하게 해놓고 ... psedo함수를 develop한다로...    

메칸더

2019-04-15 17:37:23

고수는 오른쪽처럼 quick-and-dirty하게 만들고, scalability가 필요하면 초보(라고 하기는 좀 그렇고 쥬니어 개발자)에게 시켜서 왼쪽처럼 만들게 해야죠. 들이는 시간은 1:2 인데, 크레딧은 1:1 (혹은 2:1)로 받고요.

마루살이

2019-04-15 18:09:00

printf 자체의 overhead 때문에 그런거 아닐까요? ㅋㅋ 고수꺼는 printf를 5번 밖에 콜 안하지만 초보꺼는 5 + 4 + 3 + 2 + 1 + 5 번 콜을 해서..

라이트닝

2019-04-15 18:10:33

일리가 있네요.

마루살이

2019-04-15 18:18:46

그렇지만 저는 printf("*\n**\n***\n****\n*****\n"); 로 갑니다 ㅋㅋㅋㅋㅋ

라이트닝

2019-04-15 18:37:07

더 일리가 있네요.

빨탄

2019-04-15 18:40:48

+1

 

저는 $> echo "*\n**\n***\n****\n*****"

굳이 program해야 할 이유가 안 보이네요.

 

awkmaster님은?

소서노

2019-04-15 18:16:37

오오오...

느끼부엉

2019-04-15 18:37:24

그럼 양쪽다 걍 object에 넣어두고 마지막에 한번에 printf하는 쪽으로!

LG2M

2019-04-15 19:38:00

printf는 문자열 파싱을 하는 심지어 튜링 컴플릿한 언어라서 printf를 부르는 것 부터가 여기서는 의미가 없죠. puts면 충분하죠.

라이트닝

2019-04-15 18:09:58

오른쪽으로 시작해서 필요에 의해서 왼쪽으로 변환해가겠죠.

한번 쓰고 말 코드는 오른쪽처럼, 자주 써먹을 것 같으면 왼쪽처럼 짜서 모듈화를 해야 좋겠죠.


오른쪽에서 왼쪽으로 전환을 언제 할 것이냐가 관건이 되겠습니다.

 

연쇄할인범

2019-04-15 18:29:32

초보 코드는 indentation이 엉망이에요 ㅋㅋ

느끼부엉

2019-04-15 18:36:35

헙 진짜네여 ㅋ

Stacker

2019-04-15 18:39:33

제 생각엔 메모리 사용 측면과, 시간 복잡도 관점에서 봐야할 것 같습니다.

 

1. 시간 복잡도 관점

왼쪽의 시간 복잡도는 O(N^2) - 2중 for 문 / 오른쪽은  N

** 즉, 5개의 별을 그리기위해선 왼쪽은 5^2 = 25 / 오른쪽은  5 => clock당 0.01초 걸린다고하면 0.25초와 0.05초

   만약 100개의 별을 그린다면 왼쪽은 10000 / 오른쪽은 100 => 100초와 1초

간단한 기능만을 담당하지만 퍼포먼스 차이가 기하급수적으로 차이나게된다는거죠

느끼부엉

2019-04-15 18:52:15

시간 복잡도 자체는 그렇지만,

string 길이에 따라 printf 실제 computation time이 달라지는 것을 고려하면 말씀하신 정도까진 차이 안 나지 않을까요?

Stacker

2019-04-15 19:01:24

네 맞습니다! 항상 워스트 케이스를 생각하면서 코딩을 하다보니ㅎㅎ

그래도 역시나 남이 한눈에 알아볼 수 있게 짜는게 진정한 고수 아닐까라는 생각합니다~

조아마1

2019-04-15 19:28:59

코드가 복잡해지면 그만큼 짜는 시간과 노력도 많이 들면서 실수할 확률도 높아지고 문제가 생겼을 때에도 디버깅하기도 더욱 힘들어지지요. 말그대로 저렇게 간단히 프린트만 하면 되고 앞으로 바꿀 일이 크게 없을 경우 저도 오른쪽을 선호하는 편입니다. 하루하루 전쟁터에 있는 것처럼 정신없이 수백 수천줄의 코드를 짜야 하는 사람들한테도 마찬가지가 아닐까 싶어요.

LG2M

2019-04-15 19:32:44

둘 다 초보인데요. main() 이렇게 쓰는 걸로 봐서 표준도 지키지 않는 사람인데 고수로 부르면 곤란합니다. Looks not good to me..

 

하지만 무슨 뜻이냐면 쓸데없이 기교 부리지 말고 목적을 위해 최소한의 코드, 쉬운 유지 보수가 가능한 코드를 만들라는 이야기겠죠.

happycoder

2019-04-15 19:33:29

원래, 컴퓨터가 읽는 코드는 누구나 만들수 있지만 ..고수들은 사람이 읽기 쉽게 만든다는 말이 있듯 ㅋㅋ 다른 사람들이 이 부분을 생각안하고 코드 읽을 수 있게 해주는것 아닐까요 ㅎㅎ

피스타치오

2019-04-16 06:53:47

컴퓨터 공학과 출신입니다. 

고수와 초보를 바꿔도 밑의 댓글은 크게 다르지 않습니다. 

그러니까 오류를 찾아내려는 집요한 공돌이들을 모두 불러모으려는 떡밥일 뿐입니다. 

댓글 수를 보면 떡밥의 효과가 아주 좋다는걸 알 수 있죠. 

blu

2019-04-16 07:30:11

뜨끔...

이 댓글이 초보와 고수를 갈랐네요. 

제로스

2019-04-16 10:45:04

떡밥 인정요 공돌이는 댓글 안남기고 못버팁니다 ㅎㅎ

faircoin

2019-04-16 12:03:47

+1

웃자고 만드는 짤방이지만 야메공돌이 중의 1인으로 이 떡밥을 그냥 넘어갈수가 없네요 ㅋㅋㅋ

kaidou

2019-04-16 07:33:36

비컴터과 출신입니다. 

둘다 똑같습니다. 보기에는요. (외계어)

Makeawish

2019-04-16 08:38:30

왼쪽은 O(N^2) 오른쪽은 constant. 위에 나왔듯이 텃밭에 모종 하나 심자고 포크레인 가져온 꼴이 됐죠. 컴시 사람들은 O(N^2) 아주 싫어해요. 적어도 O(N*logN) 은 되어야죠.

edta450

2019-04-16 08:59:36

컴싸 회원님들이 만선이군요 ㅋㅋㅋ

poooh

2019-04-16 09:27:43

회사에서는 그냥 아웃소싱 해 버립니다.

 

ㅋㅋㅋ

맥주한잔

2019-04-16 10:36:05

N > 100 정도 되지 않으면 오른쪽으로 가는게 정답입니다.

쓸데없는데 brain power 를 낭비할 필요 없습니다 (본인들 brain power 도 문제지만 저걸 보고 리뷰하고 나중에 문제생기면 고쳐야 하는 동료들/선임들의 brain power 도 배려해줘야죠)

사실 이런종류의 결정이 부하직원(머리좋은 초보들)들과 매우 자주 부딛치는 문제 입니다. 제 부하직원들은 뭐든지 거창하고 scalable 한 방법으로 가려고 합니다. (N=5 이고 나중에 더 커질 일 없는 경우에도) 저는 그럴때마다 제일 단순 무식한 방법으로 가자고 바꿔놓는데 논리적으로 따지면 그들이 이깁니다. 그러나 저는 오른쪽이 옳다고 믿기 때문에 자주 고집을 부립니다.

 

위에 여러분들이 overhead, big O 등등 언급해주셨는데, 이렇게 N=5 인 경우엔 그런거 생각하는 거 자체가 무의미합니다.

N 이 커지면 그떄가서 다시 생각하면 됩니다.

마루살이

2019-04-16 14:07:31

맞는 말씀이긴한데 여기에서 "무의미"를 논할순 없다고 생각합니다. 소프트웨어의 context가 중요하죠. 만약 0.001ms 이라도 더 빨리 만들어야하는, 예를들어 자동차 collision detection같은 소프트웨어를 할때는 N이 주는 영향이 아무리 낮더라도 이런 사소한 부분에서도 most effective한 솔루션을 찾아야 한다 생각합니다. 그리고 이 코드가 수백개 수만개의 쓰레드에서 동시에 실행 된다면 overhead도 무시할수는 없겠죠. 뭐 이런 특수성을 가지지 않는 general한 소프트웨어는 말씀하신데로 brain power, readability, maintainability 가 더 중요하겠죠?

제로스

2019-04-16 10:43:44

전 초보보다 한 술 더 뜬 왕초보네요 ㅋㅋ

프레임웍 만들던 버릇이 있어서

파라미터로 시작, 끝, 이넘타입 받아서

왼쪽 직각 삼각형인지, 오른쪽 직각 삼각형인지, 이등변 삼각형인지 등등

함수를 만들고 있을 것 같네요

달타냥

2019-04-16 12:23:20

30년전에 Basic 배웠을때 초보방식으로 for 구문 배웠었죠.... 그 때는 엄청 싫었었는데, 이걸로 먹고 살 줄이야.. 쿨럭 쿨럭....

reflect9

2019-04-16 12:30:01

둘다 하드 코딩이라서 재사용성이나 모듈화는 고려 안했네요.    파이썬이었다면 보통 아래처럼 하죠.  

print ("\n".join(["*"*i for i in range(1,6)]))

놀고먹자

2019-04-16 17:05:04

 짧은 코드를 원하면 APL: '*'⍴⍨¨5

베스틴카

2019-04-16 17:21:07

전 유지보수를 위해 읽기좋게 단순하게 써라 로 이해합니다.

 

결론은

공돌이의 지적 자존심을 건드린

 

정혜원님 고수 승!!!

목록

Page 1 / 3819
Status 번호 제목 글쓴이 날짜 조회 수
  공지

마적단의 기초 | 검색하기 + 질문 글 작성하기

| 정보 33
  • file
ReitnorF 2023-07-16 34474
  공지

게시판의 암묵적인 규칙들 (신규 회원 필독 요망)

| 필독 110
bn 2022-10-30 58457
  공지

리퍼럴 글은 사전동의 필요함 / 50불+ 리퍼럴 링크는 회원정보란으로

| 운영자공지 19
마일모아 2021-02-14 79295
  공지

게시판 필독 및 각종 카드/호텔/항공/은퇴/기타 정보 모음 (Updated on 2024-01-01)

| 정보 180
ReitnorF 2020-06-25 187947
new 114564

테슬라 주문 절차에 대해 알수있을까요?

| 질문-기타 5
파타고니아 2024-05-16 447
new 114563

인천공항에서 택배로 짐 보내보신분 계신가요?

| 질문-여행 1
Opensky 2024-05-16 47
new 114562

딸아이가 대학가기전에 영주권에서 시민권으로 바꿔주는게 나을까요?

| 질문-기타 20
궁그미 2024-05-16 878
updated 114561

매리엇 50K숙박권 사용 마이애미에서 했어요.

| 후기-발권-예약 1
bonbon 2024-04-25 488
updated 114560

[종료] IHG 비지니스 카드 최대 175,000 포인트 오퍼 (5/16/2024, 7AM EST)

| 정보-카드 29
마일모아 2024-05-14 2071
updated 114559

차량 50mph 이상에서 발생하는 진동에 관한 질문 (휠 밸런싱 or 다른 문제의 가능성?)

| 질문 51
음악축제 2024-04-25 1656
updated 114558

자녀 대학교 입학을 위한 College Prep Consulting

| 질문-기타 25
가데스 2024-05-15 2392
updated 114557

도쿄에서 오사카 경우 비행기인데 도쿄에서 짐 찾고 입국심사하나요?

| 질문-항공 11
Opensky 2024-05-13 973
updated 114556

태국 Krabi 반얀트리 호텔 후기

| 정보-호텔 10
  • file
몰디브러버 2024-05-15 634
updated 114555

AA 비행기 오늘 밤 출발일정인데 travel credit offer to switch flight

| 질문-항공 21
  • file
Opensky 2024-05-12 2734
updated 114554

(볼보) 리스 차량 바이아웃 후 바로 판매 고민입니다

| 질문-기타 22
my2024 2024-05-15 1419
updated 114553

테슬라 모델Y 이자율 0.99%로 대출

| 정보-기타 24
SFObay 2024-05-13 5330
updated 114552

아플 (Amex Platinum) 175k offer 역대최고 오퍼 ($8,000 스펜딩)

| 정보-카드 70
신발수집가1 2024-04-04 10493
updated 114551

JetBlue 를 5번 이상 이용하신 분들, 아무 문제 없으셨습니까?

| 질문-항공 29
us모아 2024-05-15 1900
new 114550

소소한 아이폰 기능 - feat. 스크린에 있는 QR code 열기

| 정보-기타
닥터R 2024-05-16 222
updated 114549

저도 카드 추천 부탁드려 봅니다 (계획: 모기지 클로징날 빌트+@)

| 질문-카드 14
Alcaraz 2024-05-16 695
updated 114548

피델리티 데빗 카드로 현금 인출 가능하겠지요? - 방콕, 발리, 일본

| 질문-여행 8
다른닉네임 2024-05-15 571
updated 114547

IKEA 기프트카드 50불에 10불 보너스 딱 오늘만!

| 정보-기타 22
영원한노메드 2023-11-27 2302
updated 114546

대학선택(편입) 조언부탁드립니다.

| 질문-기타 63
일체유심조 2024-05-15 2118
updated 114545

스카이패스 KAL Lounge Coupon(Valid until June 30, 2024)

| 나눔 14
smallpig 2024-05-10 816
updated 114544

Venture X 숨겨진 혜택? 년 1회 Chase lounge 입장

| 질문-카드 8
CRNA될거에요 2024-05-15 1482
updated 114543

콘래드도쿄에서 시차적응 실패후 새벽에 아이들과 무얼 할수있나요?

| 질문-여행 12
Fantastique 2024-05-15 1178
updated 114542

치과 비용 문의

| 질문-기타 6
민박사 2024-05-15 952
new 114541

[5/16/24] 발빠른 늬우스 - 힐튼, 오토캠프 예약 시작

| 정보-호텔 7
shilph 2024-05-16 994
updated 114540

전기차 리스 월 200불대 2024 아이오닉5

| 잡담 23
아보카도빵 2024-05-08 4883
updated 114539

혹시 한국 본인 인증용 번호로 KT M 모바일 쓰시는 분 계실까요? (요금제 질문)

| 질문-기타 28
루21 2024-02-19 1307
new 114538

캐피탈1벤쳐 소유->벤쳐X업그레드 오퍼(no bonus)이메일->보너스 없어도 가치 있을까요?

| 질문-카드 10
Stonehead 2024-05-16 396
updated 114537

하얏 포인트 숙박 방이 없을 때 strategy 고민 (햐얏트 파리)

| 질문-호텔 4
소비요정 2024-05-15 588
updated 114536

캘리포니아 싱글이 살기좋은 도시 추천 부탁드려요 (가성비 도시)

| 질문-기타 7
junnblossom 2024-05-15 1759
updated 114535

사파이어나 venture x 오퍼는 도대체 언제ㅜㅜ

| 잡담 16
뱅기맥 2024-03-12 4070