Chat:World/2021-10-27
aaron9753: aye
raizbro: yo guys
raizbro: i am very happy
raizbro: hi
raizbro: :sob:
raizbro: hi
Flowersquare: happy to hear you're happy~
raizbro: rigth
raizbro: so
raizbro: are you playing
Flowersquare: actually i'm about to take a nap:joy:
raizbro: bruhhhhhhhhhhhhhhh
raizbro: follow to talk
raizbro: th answer
raizbro: http://chat.codingame.com/pastebin/6ef7364d-aaf6-45fc-b793-7607941a68af
raizbro: so are you hackers
raizbro: https://codecombat.com/play/dungeon
nyloc: Hi, I noticed that if I search for my company that there already is an entry, but there are is an error in the writing. How can I change that?
nyloc: Is it possible that the Info there comes from Twitter? As the writing is our twitter handle?
raizbro: hi
raizbro: https://www.codingame.com/multiplayer/bot-programming/coders-strike-back
Thorcode: hi raizbro are you there
Thorcode: are you doing puzzle and got stuck raizbro?
ESMAKING: Hello my friends
Punisher97: https://www.codingame.com/clashofcode/clash/203630289e497611a2178afe42bbe23f877b4db
Punisher97: join
Uljahn: pls post clash invites on #clash channel
ESMAKING: http://chat.codingame.com/pastebin/bbbf9a46-5362-4d2d-a4dd-26e160184e3d
Uljahn: no need to spam here
Punisher97: got it thanks
Uniquetius: ok
ISAI: hii
raizbro: hi
raizbro: guys
raizbro: you see thorcode
Uljahn: :unamused:
raizbro: guys
raizbro: help
raizbro: http://chat.codingame.com/pastebin/12b62620-9b89-4a5d-a69a-7d065e970d18
Thorcode: again
Thorcode: there is no input no one can help you
Thorcode: or output
raizbro: fine
Thorcode: raizbro you must read in this box first https://imgur.com/a/2zfMdhk
rizonbro: raizbro
rizonbro: is
rizonbro: left
Thorcode: Thanks rizonbro
rizonbro: ko aw lfayagn
rizonbro: A will find again
rizonbro: hi du lefl3
TimothyAlexisVass: I've finished this one
TimothyAlexisVass: But didn't see it...
TimothyAlexisVass: input: http://chat.codingame.com/pastebin/bde6e20e-ead5-456f-b53a-7b4835a84e92
TimothyAlexisVass: http://chat.codingame.com/pastebin/6a14598b-feb3-4bba-9ee8-a9defeba26b8
TimothyAlexisVass: The only one who completed didn't share code
TimothyAlexisVass: http://chat.codingame.com/pastebin/181f96a8-a3d8-4a1f-9143-f2971ce3f013
Atharv-.-: :hugging:
Uljahn: TimothyAlexisVass: https://www.codingame.com/contribute/view/6449fe134b86537d2049517ddcefd992582c
Uljahn: you could use http://eulerschezahl.herokuapp.com/codingame/puzzles/ next time
S.L: Hello, it's been a while since my last connection. Is the lack of a graphical UI and console output a new bug ? I can't see the 'games' like before, and the output console is completely empty no matter what I print
shalvabuda: how to redo the game
shalvabuda: to see if solution works
S.L: Nvm, it was firefox acting up.
Atharv-.-: .
Atharv-.-: hello
Sandra_28: hi
Mau2e: hel
Mau2e: p
Arcadpac: aie
Iwillgetmy: amogus
Iwillgetmy: T
AguliRojo: ㅤㅤඞ
nicesoul: guys, is it a way to have a private codinggame with my friends using this service?
KalamariKing: what do you mean a private codinggame
KalamariKing: like a private clash of code? codingame is the platform
nicesoul: like the fishbowl game for example. I mean what can i do to invite the person in the same room?
Scarfield: nicesoul on https://www.codingame.com/multiplayer there is 3 dots top right of the clash of code link, press them, and you get the option to "launch a private clash"
Scarfield: you have to hover your mouse over the clash of code to get the dots to show
nicesoul: thank you, Scarfield
Scarfield: np :)
jacek: so tomorrow nothing happens eh
Scarfield: caturday?
JHBonarius: wow, compilers have improved since I last compiled my bots. static analysis is finding bugs now
Scarfield: one day they will auto complete algorithms
KalamariKing: thats a scary thought
JHBonarius: well, I've been using vs2022 for work... the intellicode autocomplete is often right
Scarfield: damn, didnt know that was a thing, i suppose "one day" could be in the past :p
TheBlueBias: Scaryfield
Scarfield: TheBleuHorror
KalamariKing: have you seen that gpt3 can program for you, given a sentence or two of what you want it to do
Uljahn: it can also insert comments and private keys :smirk:
Scarfield: yea, not sure if its really useful yet, but it at least shows it probably will happen to some extent
Uljahn: Automaton2000: more spaghetti to spaghetti god
Automaton2000: i need a good bot
TheBlueBias: Antisquid is the natural enemy of KalamariKing. :nerd:
JHBonarius: btw: Is there an Antisquid game?
JHBonarius: I'll get me coat
Scarfield: there is this game: https://www.codingame.com/contribute/view/507070b7925f661e2d2835c14f950b9d157e
Uljahn: there is a terminator-squid game https://www.codingame.com/training/hard/the-bridge-episode-2
JHBonarius: well... as long as it's not about shouting Koreans, it's not a real sg :P
Scarfield: lol i missed that squid game refence somehow
Scarfield: hi
TheBlueBias: oi
Scarfield: xD
eve_va_hooves_the_king_of_losers: duck
TheBlueBias: Yourself
eve_va_hooves_the_king_of_losers: oh, wanna pull that card?
eve_va_hooves_the_king_of_losers: well okay then
eve_va_hooves_the_king_of_losers: well tell "HE" i said hi when he gets online
TheBlueBias: You just activated my Astrobytes trap card.
eve_va_hooves_the_king_of_losers: this is yi-gi-ho now?
JHBonarius: Yu-Gi-No
JHBonarius: https://www.youtube.com/watch?v=9KSGUVcNfZM
jzen: How non-coder friendly are the escape rooms?
Wontonimo: if you play with other coders, then it's fine. by yourself, no so
jzen: But is it actually enjoyable for the non-coders?
Wontonimo: idk. i've never played. i'm not a fan of escape mazes irl or otherwise
jzen: How come?
Wontonimo: i've played several escape mazes, just wasn't fun
Wontonimo: idk, just isn't my cup of tea
Wontonimo: probably because i suck at them
LittleVandalSD: https://www.youtube.com/watch?v=9KSGUVcNfZ
nuss_ecke: does that mean I have to stop procrastinating??
iWumbo19: its a shame clashes are broken..
Mathew1046: i cant join clash of code
LittleVandalSD: Are you clasing
LittleVandalSD: Y"i
Mathew1046: its like after the count down it doesnt load
LittleVandalSD: For my it laod
LittleVandalSD: Really
LittleVandalSD: i am going to clash now
LittleVandalSD: https://VenomCarnage.lnk.to/LastOneSt...
LittleVandalSD: https://open.spotify.com/track/2Q3eTX...
LittleVandalSD: Are you playing now
LittleVandalSD: Becouse i dont no
KalamariKing: I'm pretty sure clashes are broken rn LittleVandalSD
KalamariKing: No theyre back!
jacek: stargate?
jacek: oops
po-po: hi what are you talking about?:thinking:
po-po: I'm new
Wontonimo: hi new po-po
po-po: I like to do block code it is much more easy:grinning:
Wontonimo: what's block code?
Wontonimo: like scratch.mit.edu ?
po-po: me to
Wontonimo: yes, scratch.mit.edu is easier than coding using only text
po-po: ya
po-po: it is
Wontonimo: what programming language are you learning now?
po-po: I'm still thinking
jacek: :thinking:
po-po: do you play minecraft
po-po: ?????????????????????
Wontonimo: i'm here for coding
po-po: ok
Wontonimo: and coding related subjects
po-po: cool
Wontonimo: there are other chatboards for minecraft and other games
Astrobytes: Dang, I came here for propane, and propane accessories.
Wontonimo: sounds like a solo optimization
Wontonimo: maybe an escape room
Astrobytes: King of the Hill reference
Wontonimo: i know
Astrobytes: Ah good
Wontonimo: charcoal is better
Astrobytes: It really is
po-po: that is an opinyon
Wontonimo: hot coals with kabab grilling on it
po-po: sory i have bad spelleing
po-po: im gust a kid
Wontonimo: like 90% of the ppl here
Wontonimo: no worries kid
Astrobytes: Are CG giving away free toys or something recently or are there endless trolls?
jacek:
po-po: stop
Astrobytes: Hammertime!
Wontonimo: for those who can't see the invisible comment from jacek, you can presses ctrl-q to see it
Wontonimo: who's trolling Astrobytes?
Wontonimo: someone spamming you privately ?
po-po: that terns of your stuff
Astrobytes: a lot of people purporting to be 'kids' are just trolls
po-po: off i ment off
po-po: i am a kid tho
po-po: :rage:
Wontonimo: well, code some more. do a puzzle like https://www.codingame.com/training/easy/the-descent then come chat
po-po: im hungry:hamburger::pizza:
po-po: good its almost lunch!
po-po: :banana::taco::hotdog::fries::ice_cream::bacon::pancakes:
po-po: so hungry
struct: chill with the spam
po-po: hoo are you
po-po: :thinking:
po-po: ??????????
struct: next one is a ban
jacek: so, mods gonna get vacation from tomorrow eh
Wontonimo: what?
Wontonimo: what you saying jacek ?
jacek: it will be so messy
struct: im going on a vacation Wontonimo
eulerscheZahl: this vacation will be fun
struct: benefits of mod
eulerscheZahl: i'm on the same vacation. Astro too
po-po: im back:grinning:
jacek: oO
po-po: :upside_down::slight_smile::upside_down::slight_smile:
Uljahn: guess they'll never learn :crying_cat_face:
po-po: hoo
eulerscheZahl: will Uljahn be on vacation too?
Uljahn: ofc
po-po: um hi do see me
struct: no you are shadow banned
struct: only mods see your messages
po-po: come on
eulerscheZahl: and other shadows
Illedan: Vacation :tada: where we going?
po-po: oh
eulerscheZahl: just taking a week off CG during the "contest"
Uljahn: to the Modland and beyond
Illedan: Contest? Where? No such thing I heard
struct: instead of a week of work
AlexHL: hi i´m new.how do i get out off shadow?
po-po: how do you kick people out
po-po: or shadow them
eulerscheZahl: step 1: get the CG logo behind your nickname
po-po: ok
po-po: i dont no how
po-po: :slight_frown:
struct: you cant, you already got kicked once
po-po: oh
Uljahn: make your own CG and grant yourself moderator rights ezpz
po-po: what you can do that
po-po: show me
po-po: the link
ErrorRazor: to get out of shadow, walk until there's a light source in your line of sight
po-po: what dose that mean
AlexHL: i will do that thank´s
po-po: im leaving soon
po-po: :sleeping:
po-po: :zzz:
Uljahn: oh nyo
po-po: :zzz:
eulerscheZahl: great, now i get poop emojis in a private message
Astrobytes: I knew this one was cruising for a kick
LittleVandalSD: I gonna go to slpee:zzz::zzz:
LittleVandalSD: :poop:
Astrobytes: ty struct
eulerscheZahl: https://prnt.sc/1xikfra
eulerscheZahl: oh, just now i got some :rage: too
Astrobytes: lol
jacek: :upside_down:
struct: just more of the usual
Astrobytes: definitely from the Daphne & Celeste school of insults
Astrobytes: "butt"
eulerscheZahl: and baby. next he'll call me a girl
jacek: :scream:
eulerscheZahl: or maybe not, couldn't have guessed that one https://prnt.sc/1xikqbf
struct: lol
Astrobytes: hahaha, now that is what you call lacking vocabulary
AlexHL: my only question Why?
eulerscheZahl: because I kicked him
Astrobytes: and this is the internet
Crazy_Gamer429: im really bad at this ......
eulerscheZahl: (banned for pushing me in private message)
eulerscheZahl: https://prnt.sc/1ximq49
jacek: kids these days
eulerscheZahl: really looking forward to that 1 week and watching the world burn in chat logs
eulerscheZahl: meanwhile i got threatened to get killed in private message
Astrobytes: ffs
eulerscheZahl: "my asassins will kill you eulerschezahl" recurse is right, these messages are surprisingly entertaining
Astrobytes: hehehe
Astrobytes: They are the bonus we get for our mod duties
struct: I think its always the same people
struct: anyways see ya next week I guess
eulerscheZahl: yes, see you
TheBlueBias: Why next week?
Astrobytes: I'm still gonna be here, I just won't do anything
eulerscheZahl: :popcorn:
Astrobytes: Exactly.
TheBlueBias: What? What's gonna happen? :fearful:
eulerscheZahl: making a contest for the 95% while the mod team is the 5%. that's going to happen
eulerscheZahl: we will be ultra inclusive
TheBlueBias: What contest? :thinking:
Astrobytes: Hahaha, very well stated euler
TheBlueBias: They'll stay on discord anyway...
eulerscheZahl: i guess removing the phishing links from discord is fine. those can do some real harm if someone falls for it
TheBlueBias: "The other place... Where I can't go."
Astrobytes: Yeah, I'll still do that
TheBlueBias: Phishing? :fish:
Astrobytes: Yeah, links to a famous jam bands music
eulerscheZahl: some bot spamming a dlscord. that is dLscord with a login screen
TheBlueBias: At least here the bots are friendly... Right Automaton2000?
Automaton2000: i think you have to worry about
eulerscheZahl: oh, the captcha bot is in place already
TheBlueBias: :scream:
Astrobytes: It is? Nice to be notified
eulerscheZahl: check the audit log
eulerscheZahl: about 28h ago
TheBlueBias: Noticed? By CG? :smirk:
eulerscheZahl: not sure if thibaud is on vacation
Astrobytes: Ah yeah, I see it.
TheBlueBias: You mean more than usual?
Astrobytes: Was about to ask about that, he normally tells us if he's gonna be off, maybe sick or something
eulerscheZahl: true. this time he's just not shown as online
lolimagine: ayyyyyyy
lolimagine: i got unbanned
Astrobytes: 3... 2... 1...
eulerscheZahl: then use your 2nd chance wisely
lolimagine: thank the mother ******* lord
Astrobytes: thin ice already
lolimagine: brooooo thats not nice....
lolimagine: ill be good
lolimagine: promise!!!!
lolimagine: astrobytes do you got discord
struct: after your first sentence I had everything ready
lolimagine: bro not nice....
lolimagine: im just trying to code gomie
TheBlueBias: So to see if T is in vacation, just look if you see what game he's playing on discord. If not, he is.
lolimagine: homie**
lolimagine: BRO THIS CHAT IS SO COOL BROOOOO
lolimagine: :money_mouth:
eulerscheZahl: you are 1 day too early for this
Astrobytes: lol right
struct: shame that I cant ban for 16 hours
Astrobytes: don't worry, they come here every day
TheBlueBias: Someone should renew the site certificates tomorrow, to unban all the trolls, and release their fury!
Astrobytes: oof
TheBlueBias: Totally possible. They'll probably try to do some hot fix about one hour before the event start... :smirk:
Astrobytes: Only one issue: It ain't a Friday
TheBlueBias: :(
eulerscheZahl: i wonder if their escape is stable enough to handle that sudden amount of users
struct: i still remember locam sprint
Astrobytes: Well, they did a test-run with the Sherlock(?) mini-'contest'
Astrobytes: struct: hehehehe
Astrobytes: That was grim.
eulerscheZahl: right. how did Sherlock go?
Astrobytes: I don't recall any problems. I didn't play it though.
eulerscheZahl: i did half of an escape. had a few white screens that required a page reload
eulerscheZahl: and the <connect> and multiple editors confused me
struct: the multiple editors is for each player
struct: you can write on other players editor
struct: its quite nice actually
Astrobytes: I figured that part out pretty quick
Astrobytes: Yeah, agreed struct
Astrobytes: we didn't have any tech issues did we?
struct: dont think so
eulerscheZahl: and the first hint is public already: Roman numberals
eulerscheZahl: have a close look at the candles in the artwork
Astrobytes: numberals?
eulerscheZahl: -b
Astrobytes: Yeah I saw those
eulerscheZahl: so just nagging about my typo?
Astrobytes: Could be a red herring
Astrobytes: Yes :D
Westicles: ugh. an 800 LOC ascii art contrib
Astrobytes: lol, I saw that. Even with the proposed reduction in solution size it just looks helluva tedious
jacek: what contrib
Westicles: https://www.codingame.com/contribute/view/74799252ae2ecb6c58600923d9635d14447b
Westicles: only the #fr can stop it
jacek: ahh java
struct: is that a clash?
Astrobytes: No, Hard puzzle
jacek: reverse shortest
YurkovAS: jacek when we train NN: we select only 1 best move by nn and thats all? no deep simulate, as in bots 100ms?
jacek: youre talking about a0-style?
YurkovAS: for mcts (AlphaZero)
YurkovAS: i'm try to understand how to train NN like AlphaZero
jacek: you plat fixed number of iterations, then choose best (with some probability) move
jacek: play*
YurkovAS: iterations evaluated by this NN?
jacek: yes. in a0 there are no playouts, just eval from the NN
YurkovAS: thanks!
jacek: then after the game is finished, youll put position -> policy,value training samples into buffer when the NN will train later from
jacek: personally i train only value, i never trained policy
jacek: hello
YurkovAS: understanding NN is long way for me :smile:
jacek: :+1:
Astrobytes: TheBlueBias: That Bismarck song :rofl:
struct: we need jacek nn playground
Astrobytes: For us simpletons?
struct: yes
Astrobytes: Agreed :D
jacek: there is nn oware no?
YurkovAS: +
struct: we need eli5
Astrobytes: hehehe
struct: maybe a list of required skills
struct: It goes a bit beyond coding
jacek: you need math :unamused:
struct: :door:
Astrobytes: I know I definitely need to review my linear algebra and vector calculus
jacek: nah, there are libs for that
Astrobytes: Eh. I like to know what I'm doing.
vedantiscool2010: can someone be my frind
Astrobytes: No soliciting in chat. First warning.
Astrobytes: And don't DM me again.
TimberStalker: Its physically impossible to win a shortest code clash with c#.
tomie24: it would be good if some clashes were limited to specific languages
AsphodelV: lol anyone program in c?
Dustyy: Hello I am the new NOOOB
Dustyy: I want to be a NERD like you
Dustyy: This is the only tech thing that I am not good at
Dustyy: Also I have only used C++
Tequiloutre: I just can't do it xD
Tequiloutre: Wut
TheBeardedPanda_f924: whats NN?
TheBeardedPanda_f924: ah, neural net. Gotcha
Dustyy: I do not know what that means
Dustyy: I need to do this more
Dustyy: What path should I take AI, Algorithms or Clash of Code
Dustyy: I only have 6 achievements
ipsissimus: idk, i just clash all day
Astrobytes: heh
Dustyy: INEEDHELP
Dustyy: PLZ
ninnghazad: what help u need?
Dustyy: PLZ
Dustyy: EVERYTHING
ninnghazad: lol
ninnghazad: rule 1: eat 3 times a day and get enough sleep.
Dustyy: I hate you
ninnghazad: =)
Astrobytes: Ban next time
ninnghazad: nah, ask something more specific.
Astrobytes: (he/she was kicked)
ninnghazad: heh, ok =)
AguliRojo: What can i do with split input? I try to make list and append all records into it
AguliRojo: Just to make any operations in puzzles.
Queuebee: does anyone know how pointers work
Astrobytes: Queuebee: https://imgur.com/a/YmqPKmT
Astrobytes: (from the discord, not my post)
Queuebee: im crying
Astrobytes: But it's clear and to the point.
Queuebee: lol
Queuebee: HA, TO THE POINT
Astrobytes: lol, pun was unintentional
Queuebee: well, it helped. i solved my problem after starting at it for30 minutes
Astrobytes: I notice you're in bioinformatics, if you're gonna be using pointers then you need to take a dive into how memory works.
Queuebee: I'm going to quit bioinformatics
Queuebee: what do you mean memory
Queuebee: like, the brain
Astrobytes: But R is great!
Astrobytes: RAM
Astrobytes: memory
Astrobytes: random access memory
Queuebee: yeah where I come from we don't talk about that
Astrobytes: But when you ask about pointers you talk about memory
Astrobytes: (I have a cell biology masters btw)
Queuebee: I've learned to use a forloop for each letter i want to count in a file with dna. with pythons readline().count(letter)
Queuebee: figured that wasn';t the best
Astrobytes: They don't teach you much in your bioinformatics class huh
Queuebee: maybe I didn't pay attention
Astrobytes: Where did you pay more attention? Clearly your focus is slightly off
Astrobytes: Focus on what you *want* to do
Astrobytes: (within reason ofc)
Queuebee: yeah well my goals are off the charts but I guess it keeps me interested
Astrobytes: What are your goals?
Queuebee: I want to learn how to write speedy efficient multithreaded scalable low energy consuming programs
Queuebee: with cool maths
Queuebee: but I can't get a floodfill to work or come up with a heurtistic myself so it will take a while
Queuebee: and i suffer from major deprEMature optimization disorder lol
Astrobytes: Then use the right languages for the right purpose; C/C++/Rust etc will get you speed but you need to understand about memory for one thing. Prototype it in python, then reimplement in some other language if needed
Astrobytes: You're doing T-Ron right?
Astrobytes: iirc
Queuebee: WHAT'S THAT
Queuebee: TRON?
Queuebee: NEVER HEARD OF THAT
Astrobytes: Hence the hyphenation
Queuebee: o
Queuebee: well yes im trying to get my t-ron program to work in cpp now
Astrobytes: Cool. You don't need pointers for this.
Queuebee: http://chat.codingame.com/pastebin/fad83b7c-7716-4f05-bee2-968fbd85ac81
Queuebee: oh no
Queuebee: it pastebinned me
Queuebee: and i didnt even write neat code
Astrobytes: You still don't need a pointer just for that
Astrobytes: You can get away with stack allocation for that array
struct: my secret is not to use pointers
Astrobytes: 4 minutes until we stop divulging information and preventing spam struct
Queuebee: hhhhhhhhhhhhhhhhhhhhh
Astrobytes: 3 in fact. Or do we count it from challenge start time?
Queuebee: http://chat.codingame.com/pastebin/18a8a2f7-ed16-4110-a19c-bc7f18025a6e
Queuebee: OMG is the challange going to start
Queuebee: I'm not ready
struct: i will wait until it starts
Astrobytes: Don't worry. It's not a coding contest.
Queuebee: oh still 17 hours
Queuebee: whats hpapening in 1 minute
Astrobytes: 5pm right struct?
Astrobytes: (for us)
struct: I think so
struct: I havent checked
Astrobytes: Neither have I. It's that or 4pm iirc
struct: whats wrong with that code Queuebee?
Queuebee: its good now
struct: ah ok
Astrobytes: nothing struct, this is the fixed version
struct: YurkovAS did you find any improvement on c4?
Queuebee: but i had [Y*HEIGHT+1] and I coulndt grasp why array[409] accessed the last element when the array was SUPPOSED TO BE FILLED TO [30(20]
Queuebee: but i had [Y*HEIGHT+1] and I coulndt grasp why array[409] accessed the last element when the array was SUPPOSED TO BE FILLED TO [30*20]
Queuebee: oh uparrow doesn't actually CORRECT a message . my bad
YurkovAS: struct yes, one, yesterday
struct: I need to improve solver and add TTs
struct: but I probably wont do it anytime soon
YurkovAS: in random rollouts reduce possibleWinMoves calls to 1 times
struct: so you update it after every move?
YurkovAS: yes, only one
struct: that should help a bit
struct: its probably my most expensive function
struct: and I call it 2 times each time i do 1 move
YurkovAS: buy need 1 call after each 1 move
YurkovAS: *but
Astrobytes: why 2 struct?
struct: one for current player and 1 for opponent
struct: I guess I dont need to calculate opponent again before he moves
YurkovAS: yes
Astrobytes: That would make sense
Astrobytes: anyway, gn
YurkovAS: gn
struct: gn
Queuebee: signal: illegal instruction (core dumped)
Queuebee: classic
trulynameless.: i am so excited for the fall challenge
ipsissimus: hey all, ive got a jank python solution that i'd like suggestions on if you all are willing
ipsissimus: http://chat.codingame.com/pastebin/ff51d101-f422-4169-8084-97ef0352c518
ipsissimus: im sure i dont have to make a list 'k' to deal with index of each char, but the IDE complained until i made a list
ipsissimus: any tips to make this less jank?
Husoski: @ipsissimus You're doing lots of extra work. You don't need the k list at all, for example. Just use the string b. Also, take the extra 'g' out of the b string.
Husoski: @ipsissimus but it's even easier than that. if (char) is a lower case letter, the position in the alphabet is or(char)-ord('a'), or just ord(char)-97 if you need to reduce size and/or speed.
ipsissimus: i tried the same thing before i added the list k
ipsissimus: and the IDE complained about
ipsissimus: no substring literal
ipsissimus: or something like that
Husoski: All you're doing with k is calling .index(), right?
ipsissimus: yes, when i did print(b.index(char))
ipsissimus: no problem
ipsissimus: but when i did q.append(b.index(char))
ipsissimus: it complained
ipsissimus: and im not sure why
ipsissimus: that was my motivation for adding k
wyenat: I don't know what the code is for, but if you want all letters, you don't need to type down all letters [chr(a) for a in range(97,123)] will give you all letters too in a list
Husoski: Just put the space in the literal string, or do b = b + ' '
Husoski: I wasn't going to go down that rabbit hole, since there's probably an A/B problem here anyway.
ipsissimus: im going to try and reimplement with the string so that i can try to get the exact error again. hard to remember exactly what the complaint was
ipsissimus: its this puzzle if you want to see it https://www.codingame.com/ide/demo/88547643e7823d994c127d4700781280ee4168
Husoski: You know that the min() built-in function works on strings, right?
ipsissimus: no, i thought it had to have some value to minimize
ipsissimus: it mins chars too?
Husoski: Try min('deadbeat')
ipsissimus: wow
ipsissimus: that wouldve made it alot easier ti think
Husoski: Now all you need to do is get rid of the spaces before calling min().
Husoski: To see why, try min('dead beat')
ipsissimus: ah, spaces are less than alphas?
Husoski: Yep.
Husoski: The string .replace() method is one easy way to remove characters. You're going to need that later anyway, right?
Husoski: https://docs.python.org/3/library/stdtypes.html#str.replace
ipsissimus: no, the question only wants us to remove the "minimum letter"
ipsissimus: so clash of code
ipsissimus: becomes
wyenat: Ok, just solved it.
ipsissimus: clsh of code
ipsissimus: heres my implementation using some suggestions
ipsissimus: http://chat.codingame.com/pastebin/ef723378-e69d-4ead-8289-d33c24cf2982
ipsissimus: id like to see yours if youll share it :O
Husoski: Yes. You could use .replace() to remove all occurrences of the 'a'.
wyenat: s = input() let_min = chr(min([ord(i) for i in set(s.lower()) if i.isalpha()])) s=s.replace(let_min, "") print(s)
ipsissimus: to save a for loop?
Husoski: Give me a few minutes. I didn't do that one.
wyenat: The point is : ord and chr give you respectively the ASCII value of a char, and the char letter of an ASCII number. That removes the need for any loop
ipsissimus: i see, i should avoid loops if possible to make it O(1)
ipsissimus: oh but, there is still a for loop
Husoski: It's still O(n), but the loops are in machine code, not Python bytecodes.
wyenat: You won't be able to make it O(1), because O(1) means your solution is not dependant of the size of the input, and since you have to check all letters inside, your O(n) at best
ipsissimus: i understand
ipsissimus: at least getting rid of the second for loop
ipsissimus: is better
ipsissimus: with replace
ipsissimus: i didnt consider it. thanks
wyenat: Just so you know, when you're used to python, you make all those fancy one liner, but any solution you can think of is valid
ipsissimus: yeah, im just trying to get the 'best' implementation, not necessarily a different one
wyenat: if you want to do manually do a loop, that's not any less quality. The thing we're discussing is how to make your life easier.
ipsissimus: Im at a point where im trying to understand why one implementation is suboptimal and not just different
ipsissimus: obviously my double for loops is suboptimal
wyenat: string.replace is a very usefull function, and it's part of the set of string manipulation tools python offers.
Husoski: Working offline, you can use the timeit module to see how fast things run.
wyenat: I wouldn't say your second loop was sub-obtimal, it did what a print(s.replace) would have done pretty much flawlessly.
ipsissimus: yes, i blast my code with timeit() and run it through flake8 every time too
wyenat: The first loop however is a huge source of corner-case fails
ipsissimus: well, in my last company people would deny my merges because of things like imports not being in order etc
ipsissimus: :nerd:
ipsissimus: alphabetical order*
ipsissimus: im trying to move away from my standard jank style of 'if it works its good enough'
wyenat: For instance " " is not a lower-case caracter, if one of the validator was this, you would have failed it.
ipsissimus: i see, i wouldve had to throw an extra if clause in there for the ' '
wyenat: if you had a string with 1000 characters "z" and then "a", you would have missed it too, because of your m=999
ipsissimus: lol yes, i checked all the testcases to see lengths, normally id use math.inf
wyenat: nvm i just see the constrain length is lower than 255
ipsissimus: ya 3 digits
Husoski: Use len(input string)+1 and you don't have a problem.
ipsissimus: i just did 999 cuz im lazy
Husoski: Ever.
wyenat: you also can use float("inf")
Husoski: Ick.
Husoski: Int vs. compare drive hackles up my old C/Assembly spine!
wyenat: The +1 is not needed, since the index of the last char is len(s) -1
Husoski: *int vs. float
Husoski: The point is to use the size of the input to describe the size of the input.
ipsissimus: thank you both for the insight
wyenat: I started with MIPS assembly too, I kinda want to propose a challenge that will float overflow that good old python, like asking what is 1.0e32+1.0
Husoski: I have 3 lines that aren't all that fancy. Don't know how to share them, though.
wyenat: Just copy paste here
wyenat: :D
ipsissimus: just paste it no?
Husoski: s = input() least = min(s.replace(' ',)) print(s.replace(least, ))
ipsissimus: i also started with mips, c and assembly
ipsissimus: i did EE in uni
ipsissimus: but only python for the past 4 years
wyenat: Actually I'm thinking a huge corner case not tested in that exercise is upper cases
ipsissimus: why replace the space ' ' with empty char
ipsissimus: ?
ipsissimus: i need to preserve spaces
Husoski: So min doesn't return a space.
wyenat: In uni I had to do a whole OS in C / MIPS
ipsissimus: yeah i remember taking microprocessor architecture and having to design an instruction set
Husoski: .replace() doesn't change the string. Strings are immutable (which is why you couldn't use .append). It returns a copy with the replacements made.
ipsissimus: opcodes and everything
ipsissimus: ah, i didnt even know that strings were immutable
wyenat: Everyone complained that it was hell, but I actually enjoyed it. The pipeline design of the computer was really tricky but enjoyable
ipsissimus: that would make sens
ipsissimus: can the let_min call in wyenats code be rewritten with map()?
Husoski: My first job was at a community college where i wrote a database engine in assembly. IBM 370 mainframes in those days.
Husoski: functools.reduce() is more like it.
ipsissimus: I feel like as fun as assembly was, no one nowadays cares about assembly it seems. which is fine because i havent touched it in years
Husoski: You want min(s[0], min(s[1], min(s[2], ...)))
ipsissimus: ive never used reduce() either
Husoski: It used to be built-in in Python 2, but was moved to functools in PYthon 3.
ipsissimus: ya im reading the doc now
Husoski: functools.reduce(min, 'abc')
wyenat: Assembly is overkill is 99% of the cases. Unless you're doing critical embedded design, even C is overkill, and you can go with something much more company friendly like Java
ipsissimus: i was working on CV and ML stuff on RTOS
ipsissimus: and still they wanted C
Husoski: Try getting Python on an 8-bit controller sometime.
ipsissimus: not assembly
ipsissimus: we're lucky that in this day and age, anytime i have to program a controller
ipsissimus: i can just hit ctrl-c ctrl-v
Husoski: Someone had to write the BIOS
ipsissimus: godbless that dev
wyenat: >>> ord(" ") 32
wyenat: Oops sorry
adoxography: Please don't use functools.reduce(min, 'abc'). min('abc') can handle that just fine.
ipsissimus: :eyes:
ipsissimus: :popcorn:
ipsissimus: i just want to get under 1k rank in CoC
Husoski: Good coding technique is usually bad clash technique, and vice versa.
ipsissimus: oh yeah, ive learned a ton of bad habits
ipsissimus: but ive learned how to use map()
ipsissimus: how to unpack lists wit h*
wyenat: I got it, just finishing the CoC path will let you around 600 without efforts
ipsissimus: how print(end=) lets me cheat not using ' '.join()
TheBrokenTraveller_5024: Anyone know why this happens when I display a char in printf?
TheBrokenTraveller_5024: N0r��V
ipsissimus: im working on it
TheBrokenTraveller_5024: zThe character is N
Husoski: Not performant, calling print() on every character, but it's a winner in shortest clashes sometimes.
wyenat: Don't agree, because in shorted you often want to use I=input and I(your_solution)
Husoski: @TheBrokenTraveller_5024 You're sending non-ASCII codes.
wyenat: to reduce the the 5 characters of print to 1
TheBrokenTraveller_5024: @Husoski, how do I fix this?
wyenat: What is in your printf?
Husoski: What's the printf look like?
Husoski: You might have a bad format string.
TheBrokenTraveller_5024: fprintf(stderr, "%s\n", dir_x);
TheBrokenTraveller_5024: Just using the debugging one
Husoski: ...what's dir_x then?
TheBrokenTraveller_5024: char dir_x[1] = "N";
Husoski: Use %c, not %s to print a char.
TheBrokenTraveller_5024: printf("%c\n", &dir_x);
Husoski: Make that char dir_x[2] = "N";
Husoski: You didn't leave room for a terminating 0 byte.
TheBrokenTraveller_5024: char dir_x[2] = "N"; fprintf(stderr, "%c\n", &dir_x);
TheBrokenTraveller_5024: Correct?
Husoski: Nope. Back to %s now that the string is valid. I misread the original at first.
TheBrokenTraveller_5024: Ah okay, that works
TheBrokenTraveller_5024: I have been wondering why this has not been working haha. Thank you very much!
Husoski: C or C++?
TheBrokenTraveller_5024: It works now though
wyenat: You're hurting youself man
TheBrokenTraveller_5024: Programming class for uni
TheBrokenTraveller_5024: Teacher require
wyenat: Good ol teacher with the C
TheBrokenTraveller_5024: #Engineering
ipsissimus: eh, c was my first
ipsissimus: good primer id say
wyenat: They don't require FORTRAN so much now but C is gonna stick a few years
Husoski: It's become the substitute for assembly in a lot of places.
TheBrokenTraveller_5024: I already know, for the most part, several programming languages
TheBrokenTraveller_5024: Just never work with chars
wyenat: It's incredibly usefull and powerfull, don't get me wrong, but for CodinGame where 90% of the puzzle are string manipulations, that about as bad as doing it manually :D
TheBrokenTraveller_5024: Oh yeah lmao
TheBrokenTraveller_5024: Incompatible pointer to integer conversion assigning to 'char' from 'char [2]'
TheBrokenTraveller_5024: Any clue what this means as well?
TheBrokenTraveller_5024: dir_x[1] = "W";
TheBrokenTraveller_5024: Attempting this
Husoski: Segfault in the making, maybe. Probably any printf() will find a 0 to stop on before running out of legal address space, though.
TheBrokenTraveller_5024: So I probably don't need to worry about it?
Husoski: You've overwritten the terminator without providing a new one. There's no room for it in char[2] either.
TheBrokenTraveller_5024: I do not understand what you mean
wyenat: Do you know how computer know where a string finish?
wyenat: They end with \0
TheBrokenTraveller_5024: Right yes
Husoski: If dir_x[0] == 'N' and dir_x[1] == 'W', then where's the \0 going to go?
wyenat: Well if your string has a length a 2, a a character inside, you're not leaving enough room for a "\0" to be inside
TheBrokenTraveller_5024: But am I not replacing it?
wyenat: In C, your char is length + 2 of what you want
TheBrokenTraveller_5024: So then how would I bypass this?
Husoski: Oops. Misreading again. That's really shouldn't compile (wouldn't on my C setups). You can't store a pointer into a char:
Husoski: dir_x[1] = "W";
TheBrokenTraveller_5024: I am unsure what a pointer is in this tbh
Husoski: ...says to put "W" into dir_x[1], but "W" is a (const) char array and a C array is converted to a pointer (to the first element) in most expressions.
TheBrokenTraveller_5024: Right
Husoski: What are you *trying* to do?
TheBrokenTraveller_5024: (light_x < initial_tx) {
//Need to go W dir_x[0] = "W"; }
TheBrokenTraveller_5024: if in the beginning of that
Husoski: That much better.
Husoski: that's
wyenat: A bit unrelated, but it seems you're trying to print a W if a condition is met, else print a L. In that case, the char * is not needed, use ternary operation printf((condition)?"L":"W");
TheBrokenTraveller_5024: Well even then, I still get the same error
Husoski: Did someone redeclare dir_x to be a char[1] again?
TheBrokenTraveller_5024: char dir_x[2] = "E"; This is the only declaration of this
TheBrokenTraveller_5024: I have not redeclared it
Husoski: It was "N" before.
TheBrokenTraveller_5024: I am trying to change the letter from E(initial declaration) to the new letter
Husoski: Should work. Is this a string because you need "NE", "SW" etc.? If it's always a single char, why not make it a char? (...and printf with "%c")
wyenat: Oh is it for Power of Thor?
TheBrokenTraveller_5024: This is the combination of these two: http://chat.codingame.com/pastebin/c6cf1c61-6a45-4536-b231-ddb7cc5dd056
Husoski: You really should add dir_act[2] = 0; at the end to make sure of a terminator. In that code snipped, array initialization shoud put zeroes in any unspecified array entries, though.
TheBrokenTraveller_5024: For the case of the dir_x
TheBrokenTraveller_5024: dir_x[1] = 0;
TheBrokenTraveller_5024: Something like this?
Husoski: Yes. After last *used* byte in string. In general, when you're appending to a string, you may not know what was in the string from before.
TheBrokenTraveller_5024: Ah okay, thank you for the help!
Husoski: There's also the <string.h> functions to simplify some of this, but they have their own issues.
Husoski: Hope some of that helped. It's hard to debug in a chat window...
TheBrokenTraveller_5024: Yeah\
TheBrokenTraveller_5024: dir_x[1] = 0;
dir_x[0] = "W";
TheBrokenTraveller_5024: Even with this though, I still get the pointer error
Husoski: Which is?
TheBrokenTraveller_5024: Incompatible pointer to integer conversion assigning to 'char' from 'char [2]'
Husoski: Oops. dir_x[0] = 'W';
Husoski: Single quotes. It's a char.
TheBrokenTraveller_5024: those actually matter>?
TheBrokenTraveller_5024: I did not know that actually
Husoski: 'a' is a char. "A" is a string.
TheBrokenTraveller_5024: So capital letters?
TheBrokenTraveller_5024: require ""?
Husoski: This is common to C++, Java, C# and other C-inspired languages.
Husoski: No. *strings* use double quotes, char constants use single.
Husoski: dir_x[0] is a char, not a string. It's the first character of the dir_x string.
Husoski: I'm going now. Gotta practice guitar, lesson's tomorrow!
TheBrokenTraveller_5024: Enjoy!
TheBrokenTraveller_5024: Wait, one more question
TheBrokenTraveller_5024: If you do not mind
Husoski: ok
TheBrokenTraveller_5024: else if (light_y == initial_ty) {
//Go no where on the Y plane dir_y[0] = ""; }
TheBrokenTraveller_5024: How can I make this be empty?
TheBrokenTraveller_5024: I have tried like dir_y[0]=0; but did not work
Husoski: dir_y[0] = 0; or dir_y = '\0';
Husoski: What did dir_y = 0; do?
Husoski: What did dir_y[0] = 0; do?
TheBrokenTraveller_5024: What did dir_y[0] = 0; do?-Did nothing
TheBrokenTraveller_5024: dir_y[0] = 0; this
TheBrokenTraveller_5024: Array type 'char [2]' is not assignable for dir_y = 0
Husoski: It's an empty string (not even a \n) so printf on it will do nothing.
TheBrokenTraveller_5024: Well, I need to empty the string
TheBrokenTraveller_5024: So it has nothing
Husoski: The plain dir_y = 0 was a typo. I meant dir_y[0]. What was supposed to happen when the string was empty that didn't happen?
TheBrokenTraveller_5024: right
Husoski: And what were you expecting to see that you didn't?
TheBrokenTraveller_5024: If I comment the dir[y]=0; out then I get the dir_act to display
TheBrokenTraveller_5024: but if I keep that line in, nothing is displayed
TheBrokenTraveller_5024: dir_y[1] = 0;
TheBrokenTraveller_5024: Now if I do this. it gives me the results but the S is still there but according to my conditional, since the light_y and initial_y are equal in value, the dir_y should be emopty
Husoski: Oh...I see. You really need to look into strcpy and strcat to save headaches on glueing strings together.
Husoski: You don't have a fixed-length string now, with exactly 1 char. You have variable length strings.
TheBrokenTraveller_5024: but I thought you said I needed it to be 2?
Husoski: Try this, though: http://chat.codingame.com/pastebin/c71c7530-4476-489b-ae58-53ddf8582787
Husoski: You're probably better off using <string.h> with strcpy and strcat, though.
Husoski: https://en.cppreference.com/w/c/string/byte
Husoski: Anyway, good night and good luck (hey, that was a movie!)
TheBrokenTraveller_5024: Can you explain the first one?
TheBrokenTraveller_5024: Oh okay, thank you for the assiatance